在您将此标记为重复之前,我已经在所有其他问题中尝试了所有方法,但没有一个有效。
我正在尝试排除任何带有页面模板page noindex的页面。来自wp\\u list\\u pages()的php;查询
下面的代码不起作用,当我回显$The\\u查询时,它只显示“Array”。
<?php
$the_query = array(
\'post_type\' => \'page\', /* overrides default \'post\' */
\'meta_key\' => \'_wp_page_template\',
\'meta_value\' => \'page-templates/page-noindex.php\'
);
$args = array(
\'exclude\' => $the_query,
\'title_li\' => \'\',
\'sort_column\' => \'menu_order, post_title\',
\'post_type\' => \'page\',
\'post_status\' => \'publish\'
); ?>
<?php wp_list_pages($args) ?>
最合适的回答,由SO网友:Anton Lukin 整理而成
丹尼尔,exclude
参数不接受数组。
按以下方式使用代码:
$exclude = [];
foreach(get_pages([\'meta_key\' => \'_wp_page_template\', \'meta_value\' => \'page-templates/page-noindex.php\']) as $page) {
$exclude[] = $page->post_id;
}
$args = array(
\'exclude\' => implode(",", $exclude),
\'title_li\' => \'\',
\'sort_column\' => \'menu_order, post_title\',
\'post_type\' => \'page\',
\'post_status\' => \'publish\'
);
wp_list_pages($args);
我认为您可以根据需要更好地重构它