是否可以将变量用于\'category_name\'
参数
我有三页:红色、黄色和蓝色。我有多个帖子,分为三类:红色、黄色和蓝色。在红色页面上,我希望显示红色类别中帖子的信息;黄色和蓝色也是一样。
如果我用这些创建三个不同的页面模板,我可以很容易地做到这一点$args
在循环的开头:
$args = array(
\'category_name\' => \'red\'
);
$the_query = new WP_Query( $args );
或
\'category_name\' => \'yellow\'
或
\'category_name\' => \'blue\'
与其制作三个单独的页面模板,是否可以创建一个,其中
\'category_name\'
参数设置为页面标题(因此“红色”页面将导致“红色”动态设置为
\'category_name\'
参数)?
虽然这不起作用,但希望它能说明我正在尝试做什么:
$title = the_title()
$args = array(
\'category_name\' => $title
);
谢谢你花时间看这个!
最合适的回答,由SO网友:Robert hue 整理而成
是的,您可以传入变量category_name
. 但我想应该是get_the_title()
而不是the_title()
.
$title = get_the_title();
$args = array(
\'category_name\' => $title
);
试试这个。但请记住
category_name
只接受类别slug,不接受类别名称。
如果页面标题/段标不同,也可以使用以下方法。我觉得这样更好。
if ( is_page( \'Page Name One\' ) ) {
$cat_title = \'red\'; // should be category slug
} elseif ( is_page( \'Page Name Two\' ) ) {
$cat_title = \'yellow\'; // should be category slug
} elseif ( is_page( \'Page Name Three\' ) ) {
$cat_title = \'blue\'; // should be category slug
}
$args = array(
\'category_name\' => $cat_title
);