Upload Multiple Files With media_handle_upload

here if you use custom template past this in the begining <?php if( ‘POST’ == $_SERVER[‘REQUEST_METHOD’] ) { if ( $_FILES ) { $files = $_FILES[“my_file_upload”]; foreach ($files[‘name’] as $key => $value) { if ($files[‘name’][$key]) { $file = array( ‘name’ => $files[‘name’][$key], ‘type’ => $files[‘type’][$key], ‘tmp_name’ => $files[‘tmp_name’][$key], ‘error’ => $files[‘error’][$key], ‘size’ => $files[‘size’][$key] ); … Read more

Best way of passing PHP variable between partials?

Basic separated data structures To pass around data, you normally utilize a Model (that’s the “M” in “MVC”). Let’s look at a very simple interface for data. Interfaces are just used as “Recipes” for our building blocks: namespace WeCodeMore\Package\Models; interface ArgsInterface { public function getID(); public function getLabel(); } Above is what we pass around: … Read more

How to run a function every 5 minutes?

You can create new schedule times via cron_schedules: function my_cron_schedules($schedules){ if(!isset($schedules[“5min”])){ $schedules[“5min”] = array( ‘interval’ => 5*60, ‘display’ => __(‘Once every 5 minutes’)); } if(!isset($schedules[“30min”])){ $schedules[“30min”] = array( ‘interval’ => 30*60, ‘display’ => __(‘Once every 30 minutes’)); } return $schedules; } add_filter(‘cron_schedules’,’my_cron_schedules’); Now you can schedule your function: wp_schedule_event(time(), ‘5min’, ‘my_schedule_hook’, $args); To only schedule … Read more

plugins_url vs plugin_dir_url

Checkout – wp-includes/plugin.php#L585 plugin_dir_url() function internally uses plugins_url() to get the link to plugin directory. plugin_dir_url() This will return url of the plugin directory with a trailing slash at the end. So this can be easily used to link to the plugin directory. e.g – http://www.example.com/wp-content/plugins/foo/ plugins_url If no arguments are passed this will deliver … Read more

How to add a data attribute to a WordPress menu item

Specifically editing the code you provided in the original question: add_filter( ‘nav_menu_link_attributes’, ‘wpse121123_contact_menu_atts’, 10, 3 ); function wpse121123_contact_menu_atts( $atts, $item, $args ) { // The ID of the target menu item $menu_target = 123; // inspect $item if ($item->ID == $menu_target) { $atts[‘data-toggle’] = ‘modal’; } return $atts; }