【问题标题】:Updating mate values by meta key for all posts通过元键更新所有帖子的 mate 值
【发布时间】:2015-10-13 15:24:13
【问题描述】:

我想使用 wordpress 页面中的特定元键更新元值。我想要的是,将元值与变量相乘,然后将结果写入另一个元值。

例如;

$var=5
meta_key|meta_value
key-1   |10
key-2   |20

key-1 的元值 = 100 (key-2 * $var)。我试过下面的代码来检索 key-1,但它什么也没返回。

require_once("wp-load.php");

function wp_update_value( ) {

global $wpdb;

$mylink = $wpdb->get_results("
                    SELECT $wpdb->postmeta.meta_value
                    FROM $wpdb->postmeta 
                    WHERE $wpdb->postmeta.meta_key = 'key-1'",
                    ARRAY_A);


$array = unserialize($mylink);

return $array;
}

如何通过元键获取两个元值并为所有帖子更新它们?

【问题讨论】:

    标签: wordpress metadata meta-key


    【解决方案1】:

    您可以在循环中执行此操作,例如:

    <?php
        header('Response: HTTP/1.1 200 OK');
        define('WP_USE_THEMES', false);
        require('../../../../wp-load.php');
        $args = array(
            'posts_per_page' => '-1',
        ); 
        $the_query = new WP_Query( $args );
        $var = 5;
        if ( $the_query->have_posts() ){
            while ( $the_query->have_posts() ) : $the_query->the_post();
                $value = 100 * (get_post_meta(get_the_ID(),'key-2',true) * $var);
                update_post_meta(get_the_ID(), 'key-1', $value);
            endwhile;
        }
    ?>
    

    【讨论】:

    • 感谢您的回答。我收到了这个错误;运行代码时出现“致命错误:不支持的操作数类型”。
    • 尝试将第三个参数'false'添加到get_post_meta(get_the_ID(),'key-2') -> get_post_meta(get_the_ID(),'key-2',false),否则它会返回一个数组:)(我已经编辑了完整的代码)
    猜你喜欢
    • 2015-08-22
    • 2023-03-31
    • 2014-04-08
    • 2021-10-03
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    相关资源
    最近更新 更多