我同意对这个问题的评论,即可能有更好的方法来关联你的帖子类型,然而,这个问题以一种“代码高尔夫”的方式很有趣:)
我现在需要查询数据库,以确定某一集是否有特定类型的片段与之关联。如果“page\\u title”在$args中是一个有效的条目,那么这应该很容易,但似乎不是。(我花了今天相当长的时间才意识到!)
name
and pagename
两者都解决了slug
但不能使用通配符,如果您尝试以下操作,可以看到:
$args = array(
\'post_type\' => \'book\',
\'name\' => \'test\',
);
$q = new WP_Query($args);
var_dump($q->request);
实现通配符技巧的最简单方法是启用过滤器
posts_where
:
function wildcard_post_slug($where) {
remove_filter(\'posts_where\',\'wildcard_post_slug\');
global $wpdb;
return $where.\' AND \'.$wpdb->posts.\'.post_name LIKE "Episode_%"\';
}
add_filter(\'posts_where\',\'wildcard_post_slug\');
$args = array(
\'post_type\' => \'book\',
);
$q = new WP_Query($args);
var_dump($q->request);