在发布帖子之前,根据另一个帖子元值添加帖子元

时间:2016-05-16 作者:Mithun Sarker Shuvro

我想在发布帖子之前,在我的帖子中添加一个基于另一个元值的元值。这就是我尝试过的

add_action(\'save_post_my_custom_post\', \'add_custom_field_automatically\' );
function add_custom_field_automatically($post_ID) { 

    $new_meta_value = get_post_meta($post_ID,\'_my_meta_key\',TRUE).\'to \' .\' something new\';

    add_post_meta($post_ID, \'_my_new_meta_key\', $new_meta_value, true);
}
但它不起作用。钩子正确地启动,它只保存“到新的东西”,但我所期望的值应该是“我的元值到新的东西”

2 个回复
最合适的回答,由SO网友:Mithun Sarker Shuvro 整理而成

解决方案正在使用added_post_metaupdated_post_meta

这是工作代码。

add_action( \'added_post_meta\', \'add_custom_field_automatically\', 10, 4 );
add_action( \'updated_post_meta\', \'add_custom_field_automatically\', 10, 4 );
function add_custom_field_automatically( $meta_id, $post_id, $meta_key, $meta_value )
{
    if ( \'_my_meta_key\' == $meta_key ) {

        add_post_meta($post_id, \'_my_new_meta_key\', $meta_value.\'to something new\', true);
    }
}

SO网友:AR Bhatti

使用global $post 在函数开始前的页面顶部

global $post;

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在