是否有一种方法(如果有,“如何?”)将条件应用于slug包含特定单词的页面/帖子。
在Codex的示例中:
is_single( \'beef-stew\' )
如果鼻涕虫含有“牛肉”,而不是“炖牛肉”,则该条件仍然适用。
更新:响应上下文请求。。。
我有一个nav菜单,它使用一个条件语句(下面的示例)将css类应用于正在查看的页面中的项目。
<?php if (is_single(\'mon\')) { echo " class=\\"current\\""; }?>
在上述示例中,“mon”是“monday”,与周计划中的其他日期类似。通过添加到模板,它可以用于任何一天,只要我设置了一个适当的slug。。。例如,使用“mon”代替“Monday April 4”。
我想将该条件仅应用于slug的一部分,从而节省在保存之前手动修改slug的时间。。。如果我忘记这样做,也可以消除mis功能的情况。
SO网友:birgire
以与@Howdy\\u McGee类似的方式,我们可以尝试构造一个助手函数:
/**
* @param $s String
* @return bool
*/
function queried_post_name_contains_wpse247782( $s )
{
$obj = get_queried_object();
return $obj instanceof \\WP_Post // Make sure it\'s a post object
&& false !== strpos( $obj->post_name, $s ); // post name contains it
}
并像这样使用它:
if( is_single() && queried_post_name_contains_wpse247782( \'beef\' ) )
{
// ...
}
希望您能将其进一步扩展到您的需要!