Action hook for custom tax edit

Look at wp-includes/taxonomy.php. The actions are: do_action( “create_term”, $term_id, $tt_id, $taxonomy ); do_action( “created_term”, $term_id, $tt_id, $taxonomy ); do_action( “edited_term”, $term_id, $tt_id, $taxonomy ); do_action( ‘delete_term’, $term, $tt_id, $taxonomy, $deleted_term ); do_action( “create_$taxonomy”, $term_id, $tt_id ); do_action( “created_$taxonomy”, $term_id, $tt_id ); do_action( “edited_$taxonomy”, $term_id, $tt_id ); do_action( “delete_$taxonomy”, $term, $tt_id, $deleted_term );

Move excerpt meta box to above content editor

It’s simple, just unregister postexcerpt box first then add another one on the top. Here is my code add_action( ‘admin_menu’, function () { remove_meta_box(‘postexcerpt’, ‘post’, ‘normal’); }, 999 ); add_action(‘edit_form_after_title’, ‘post_excerpt_meta_box’);

How to intercept a 404 error

As was mentioned in a comment, template_redirect would be an appropriate hook for intercepting a 404 before the template is loaded. function wpd_do_stuff_on_404(){ if( is_404() ){ // do stuff } } add_action( ‘template_redirect’, ‘wpd_do_stuff_on_404’ ); Refer to the Action Reference for the general order of actions on the front end. The main query runs between … Read more

How many times can I hook into the same action?

WordPress hooks work like Hollywood: you don’t call them, they call you. But unlike Hollywood, they keep calling everyone on the list. It’s normal for an action or a filter to have multiple functions hooked to it, from different plugins, or even just different functions in the WordPress core that all do something specific. It … Read more

Use wp init hook to call other hooks?

In general: Yes, wait for a dedicated hook to start your own code. Never just throw an object instance into the global namespace. But init is rarely necessary. You hook in as late as possible. If your first code runs on wp_head do not use an earlier hook. You can even cascade hooks: add_action( ‘wp_head’, … Read more

get $post in init filter or action?

Turns out the answer was simply to use url_to_postid like this: $keyword = get_post_meta( url_to_postid( “http://”.$_SERVER[‘SERVER_NAME’].$_SERVER[‘REQUEST_URI’] ), ‘_wpg_def_keyword’, true ); Works perfectly even from init.

Why do some hooks not work inside class context?

Sometimes certain hooks need to be fired at certain times. Example, some hooks need to be fired upon init. Add this to your __construct() add_action(‘init’, array(&$this, ‘init’)); Then add this function, which will contain all hooks that need to be fired upon init. public function init(){ add_action(‘hook_name’, array(&$this, ‘your_method_name’)); add_action(‘hook_name’, array(&$this, ‘your_method_name’)); add_action(‘hook_name’, array(&$this, ‘your_method_name’)); … Read more

WooCommerce: change display order of product short description and price [closed]

If you look at woocommerce/templates/content-single-product.php you’ll see that the product summary is constructed using hooks with different priorities. Here’s the relevant section: <?php /** * woocommerce_single_product_summary hook * * @hooked woocommerce_template_single_title – 5 * @hooked woocommerce_template_single_rating – 10 * @hooked woocommerce_template_single_price – 10 * @hooked woocommerce_template_single_excerpt – 20 * @hooked woocommerce_template_single_add_to_cart – 30 * @hooked … Read more