【问题标题】:How to insert new hidden postmeta on a published post ? WordPress如何在已发布的帖子上插入新的隐藏帖子元? WordPress
【发布时间】:2018-07-26 20:33:43
【问题描述】:

如果我手动更新postmeta,有一百个帖子。我试图找到一种基于post_type 和类别插入新postmeta 的方法。我试试这个:

$args = [
    'post_type' => 'post',
    'category_name' => 'category'
];

$query = new WP_Query($args);

if( $query->have_posts() ) {

    while ( $query->have_posts() ) {
        add_post_meta($query->post->ID, '_meta_key', meta_value, true);
        add_post_meta($query->post->ID, '_meta_key2', meta_value2, true);
        add_post_meta($query->post->ID, '_meta_key3', meta_value3, true);
        add_post_meta($query->post->ID, '_meta_key4', meta_value4, true);
        add_post_meta($query->post->ID, '_meta_key5', meta_value5, true);
    }
}

它不工作。有没有办法实现?

好的,我在这里找到了答案Trigger action when new post is insert in wordpress

【问题讨论】:

    标签: wordpress insert-update


    【解决方案1】:

    使用update_post_meta 函数更新帖子元值。

    $args = [
        'post_type' => 'post',
        'category_name' => 'category'
    ];
    
    $query = new WP_Query($args);
    
    if( $query->have_posts() ) { 
               $query->the_post();
    
        while ( $query->have_posts() ) {
            update_post_meta($query->post->ID, '_meta_key', meta_value, true);
            update_post_meta($query->post->ID, '_meta_key2', meta_value2, true);
            update_post_meta($query->post->ID, '_meta_key3', meta_value3, true);
            update_post_meta($query->post->ID, '_meta_key4', meta_value4, true);
            update_post_meta($query->post->ID, '_meta_key5', meta_value5, true);
        }
    }
    

    【讨论】:

    • 它不工作。而且数据库上也没有 _meta_key 。所以,它不能更新。
    • _meta_key 表示您的自定义字段名称,将 _meta_key 替换为您想要的自定义字段名称。
    • 谢谢@Gufran。最后,我找到了如何正确添加新元的答案。是的,我使用 update_post_meta 提出您的建议。谢谢。 :)
    • 欢迎 :) 你是怎么做到的?
    【解决方案2】:

    在发布帖子或页面或自定义帖子时添加元值。

    function save_post_meta( $post_id, $post, $update ) {
        $post_type = get_post_type($post_id);
    
        if ( "your post name" != $post_type ){ return;}
    
        update_post_meta( $post_id, 'meta_key', 'value');
    }
    add_action( 'save_post', 'save_post_meta', 10, 3 );
    

    【讨论】:

      猜你喜欢
      • 2014-11-05
      • 1970-01-01
      • 2020-03-16
      • 1970-01-01
      • 2013-12-03
      • 2013-12-11
      • 2011-10-22
      • 1970-01-01
      • 2022-08-14
      相关资源
      最近更新 更多