在自定义WP查询中存在按自定义字段排序CPT的问题

时间:2021-07-22 作者:Behseini

有这样一个自定义的Post类型循环,我可以在页面上返回结果,但无法使用自己的自定义字段设置显示顺序。

正如你在这里看到的

$topic_number = get_post_custom_values($key = \'topic_order\');
echo $topic_number[0];
我能够获取自定义字段的值并将其回显到页面,但订单系统没有完成对其进行排序的工作。你能告诉我怎么解决这个问题吗?

$args = array(
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'topic\',
            \'field\'    => \'slug\',
            \'terms\'    => \'movie\',
        ),
    ),
        \'post_type\' => \'essay\',
        \'orderby\' => \'topic_number\',
        \'order\' => \'DESC\',
);

    $loop = new WP_Query( $args ); 
        
    while ( $loop->have_posts() ) : $loop->the_post(); 
$topic_number = get_post_custom_values($key = \'topic_order\');

echo $topic_number[0];
        print the_title() ."<br />"; 
        the_excerpt(); 
    endwhile;

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

您的查询参数不太正确。如果要按自定义字段订购,则需要指定meta_key 参数,并设置orderby 你需要的那种订货。例如:

$args = array(
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'topic\',
            \'field\'    => \'slug\',
            \'terms\'    => \'movie\',
        ),
    ),
    \'post_type\' => \'essay\',
    \'meta_key\'  => \'topic_number\',
    \'orderby\'   => \'meta_value_num\',
    \'order\'     => \'DESC\',
);

相关推荐

Vimeo froogaloop

我是个新手,但我想用this idea 在Wordpress站点上嵌入的Vimeo剪辑中禁用正向搜索我的职能。我添加了phpfunction frogaloop_scripts() { wp_register_script(\'snippet\', \'https://siteurl/wp-content/themes/themename/js/snippet.js\'); wp_register_script(\'frogaloop\',\'https://f.vimeo