发布/更新后自动填充自定义字段值

时间:2013-05-27 作者:Steve Dimock

我已经四处搜索了一下,很难找到这个问题的答案。我试图做的是在更新或发布帖子(自定义帖子类型)时自动填充自定义字段。理想情况下,无论何时创建或更新帖子,完成的脚本都会调用API并用结果信息填充自定义字段。但现在,我只是想用一个简单的字符串自动填充我的自定义字段进行测试。这是我的代码:

add_action( \'save_post\', \'update_tmv\' );
function update_tmv($postid) {
    if ( !wp_is_post_revision( $postid ) && get_post_type( $postid ) == \'inventory\') {
        $field_name = \'market_value\';
        add_post_meta($postid, $field_name, \'TEST_STRING\', true);    
    }
}
我将此页用作参考:http://www.wpbeginner.com/wp-tutorials/how-to-add-custom-fields-automatically-on-post-publish-in-wordpress/ 但不幸的是,它不起作用。发布或保存帖子时,“market\\u value”自定义字段仍然为空(此外,我正在使用高级自定义字段创建自定义字段)。有什么想法吗?谢谢

1 个回复
最合适的回答,由SO网友:Matthew Boynes 整理而成

看见add_meta_box 它有很多用于处理元字段的演示代码。以下是与您最相关的部分:

/* Do something with the data entered */
add_action( \'save_post\', \'myplugin_save_postdata\' );

/* When the post is saved, saves our custom data */
function myplugin_save_postdata( $post_id ) {

  // First we need to check if the current user is authorised to do this action. 
  if ( \'page\' == $_POST[\'post_type\'] ) {
    if ( ! current_user_can( \'edit_page\', $post_id ) )
        return;
  } else {
    if ( ! current_user_can( \'edit_post\', $post_id ) )
        return;
  }

  $mydata = \'something\'; // Do something with $mydata 

  update_post_meta( $post_id, \'_my_meta_value_key\', $mydata );
}

结束

相关推荐

发布/更新后自动填充自定义字段值 - 小码农CODE - 行之有效找到问题解决它

发布/更新后自动填充自定义字段值

时间:2013-05-27 作者:Steve Dimock

我已经四处搜索了一下,很难找到这个问题的答案。我试图做的是在更新或发布帖子(自定义帖子类型)时自动填充自定义字段。理想情况下,无论何时创建或更新帖子,完成的脚本都会调用API并用结果信息填充自定义字段。但现在,我只是想用一个简单的字符串自动填充我的自定义字段进行测试。这是我的代码:

add_action( \'save_post\', \'update_tmv\' );
function update_tmv($postid) {
    if ( !wp_is_post_revision( $postid ) && get_post_type( $postid ) == \'inventory\') {
        $field_name = \'market_value\';
        add_post_meta($postid, $field_name, \'TEST_STRING\', true);    
    }
}
我将此页用作参考:http://www.wpbeginner.com/wp-tutorials/how-to-add-custom-fields-automatically-on-post-publish-in-wordpress/ 但不幸的是,它不起作用。发布或保存帖子时,“market\\u value”自定义字段仍然为空(此外,我正在使用高级自定义字段创建自定义字段)。有什么想法吗?谢谢

1 个回复
最合适的回答,由SO网友:Matthew Boynes 整理而成

看见add_meta_box 它有很多用于处理元字段的演示代码。以下是与您最相关的部分:

/* Do something with the data entered */
add_action( \'save_post\', \'myplugin_save_postdata\' );

/* When the post is saved, saves our custom data */
function myplugin_save_postdata( $post_id ) {

  // First we need to check if the current user is authorised to do this action. 
  if ( \'page\' == $_POST[\'post_type\'] ) {
    if ( ! current_user_can( \'edit_page\', $post_id ) )
        return;
  } else {
    if ( ! current_user_can( \'edit_post\', $post_id ) )
        return;
  }

  $mydata = \'something\'; // Do something with $mydata 

  update_post_meta( $post_id, \'_my_meta_value_key\', $mydata );
}

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: