【问题标题】:Automatically insert WordPress custom field自动插入 WordPress 自定义字段
【发布时间】:2011-02-05 15:20:59
【问题描述】:

我想在我的帖子中添加一个带有元键和元值的新自定义字段。

目前,将其添加到帖子的唯一方法是进入帖子并单击更新。
我有很多帖子,本质上希望这个自定义字段自动添加到所有帖子中,并分配一个元值。

每个帖子的元值都不同。

【问题讨论】:

  • 请更好地解释您的问题?您要插入哪个元值?是可以自动计算的吗?
  • 我只是在自定义字段中插入一串文本。每个帖子的文本都不同。用户无法编辑此自定义字段。我通过自定义字段将文本插入帖子的原因是它可以使用我正在使用的搜索系统进行搜索。我只想批量更新所有帖子(或者更准确地说是我创建的自定义帖子类型),以便将自定义字段插入到所有帖子中,而无需手动更新/保存每个现有帖子。
  • 嗨,你有没有找到解决方案?我也需要这个,可能是自动化的。谢谢

标签: wordpress meta


【解决方案1】:

我发现这很有帮助:http://www.catswhocode.com/blog/wordpress-how-to-insert-data-programmatically

function add_custom_field_automatically($post_ID) {
global $wpdb;
if(!wp_is_post_revision($post_ID)) {
    add_post_meta($post_ID, 'field-name', 'custom value', true);
}
}
add_action('publish_page', 'add_custom_field_automatically');
add_action('publish_post', 'add_custom_field_automatically');

这将为 $post_ID 中的“字段名称”添加一个“自定义值”。

【讨论】:

    【解决方案2】:

    我认为正确的方法是使用'save_post'hook,例如:

      function cwp_add_custom_post_meta($post_id, $post){
    global $wpdb;
    $post_cat_id=get_the_terms( $post_id, 'category' );
    $post_cat_id=cwp_object_to_array($post_cat_id);
    $post_cat_id=$post_cat_id['0'] ["term_id"];
    $display_voting = get_tax_meta($post_cat_id,'cwp_display_voting');
    if(!wp_is_post_revision($post_id))
        update_post_meta($post_id,'display_voting', $display_voting);
    }
    add_action( 'save_post', 'cwp_add_custom_post_meta', 10, 2 );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多