How to override existing plugin action with new action

You can use the remove_action() function, like this: remove_action(‘publish_post’, ‘old_action’); add_action(‘publish_post’, ‘new_action’); It’s important to note that if the old_action was added with a priority parameter, you must add that to the remove_action call, otherwise it will fail to remove it. There are other implications if the old_action was added within a class. See here … Read more

Trouble understanding apply_filters()

Try to see the function with better names: apply_filters( $filter_name, // used for add_filter( $filter_name, ‘callback’ ); $value_to_change, // the only variable whose value you can change $context_1, // context $context_2 // more context ); So when that function is called as: // wp-login.php line 94 apply_filters( ‘login_body_class’, $classes, $action ); You can use … … Read more

Difference between do_action and add_action

Use do_action( ‘unique_name’ ) to create your own actions. You can use that to offer an API for your plugin, so other plugins can register callbacks for your custom action. Example: Do I need to call do_action in my plugin? But you can use custom actions (or filters) in a theme too. Example: Best practice … Read more

How to enqueue scripts on custom post add/edit pages?

You can do it like this (put in your functions.php) : function add_admin_scripts( $hook ) { global $post; if ( $hook == ‘post-new.php’ || $hook == ‘post.php’ ) { if ( ‘recipes’ === $post->post_type ) { wp_enqueue_script( ‘myscript’, get_stylesheet_directory_uri().’/js/myscript.js’ ); } } } add_action( ‘admin_enqueue_scripts’, ‘add_admin_scripts’, 10, 1 );

How to test wp_cron?

My favorite plugin for that is Core Control which has very nice module for display of what is going in the cron – which events are set up, when are they next firing, etc. On getting your hands dirty level see _get_cron_array(), which returns internal stored data for cron events (top level of keys are … Read more