如何检查自定义域是否已更新?

时间:2018-05-18 作者:TinyTiger

我有一个名为vpn. 该自定义帖子有一个名为company_location.

在我的功能中。php文件我正在使用updated_post_meta 钩子调用bg_update 我创建的函数。

我希望函数var_dump 文字it works 在我更改company_location 文章上的自定义字段,然后单击“更新”。

但什么都没发生。不var_dump 根本就不是表演。

function bg_update ($meta_id, $object_id, $meta_key, $_meta_value) {
    $test = "it works";
    if ($meta_key == "company_location") {
        var_dump($test);
    }
}
add_action( \'updated_post_meta\', \'bg_update\', 10, 4 );
我做错了什么?

UPDATE:

question here 表示加载后编辑页面会重定向,因此需要杀死wp才能查看var\\u转储。玩过之后,我发现这会杀死wp并显示var\\u转储:

function bg_update ($meta_id, $object_id, $meta_key, $meta_value) {
    $test = "it works";
    var_dump($test);
    wp_die();
    if ($meta_key == "company_location") {
        // do stuff here
    }
}
add_action( \'updated_post_meta\', \'bg_update\', 10, 4 );
但这没有任何作用。WP未终止,var\\U转储未显示:

function bg_update ($meta_id, $object_id, $meta_key, $meta_value) {
    $test = "it works";
    if ($meta_key == "company_location") {
        var_dump($test);
        wp_die();
    }
}
add_action( \'updated_post_meta\', \'bg_update\', 10, 4 );
所以我现在知道了updated_post_meta 是正确的挂钩,因为它正在启动函数,但问题是IF语句的计算结果为false,因此没有运行var_dump.

为什么会这样?

UPDATE 2:

I var\\u转储$meta_key 在IF语句之外,它正在显示string(10) "_edit_lock"??

function bg_update ($meta_id, $object_id, $meta_key, $meta_value) {
    $test = "it works";
    var_dump($meta_key);
    wp_die();    
    if ($meta_key == "company_location") {
        // do things
    }
}
add_action( \'updated_post_meta\', \'bg_update\', 10, 4 );

1 个回复
SO网友:Jignesh Patel

我认为您忘记了挂钩的优先级和参数的数量,否则代码就是完美的。如果您可以更新自定义帖子类型的帖子元,那么您可以参考此内容。

https://codex.wordpress.org/Plugin_API/Action_Reference/updated_(meta_type)_meta

尝试以下操作:

add_action( \'updated_post_meta\', \'bg_update\', 10, 4 );

For custom post type EX: abc

<?php add_action( "updated_{$meta_type}_meta", $function_name\', 10, 4 ); ?>

<?php add_action( "updated_abc_meta", $function_name\', 10, 4 ); ?>
更新

function save_custom_field( $post_id, $post, $update ) {
//YOUR CODE
}
add_action( \'save_post\', \'save_custom_field\', 10, 3 );

结束

相关推荐