我的WordPress网站有自定义帖子类型“汽车”,所以我有类似www.example.com/car/honda-civic-2013/
现在我还使用显示特定信息的add_rewrite_endpoint()
进行“购买”操作:www.example.com/car/honda-civic-2013/buy
在我的header.php
模板中,检查当前页面是否“买”的适当方法是什么?
这就是我所拥有的:
if (is_singular('car')) {
echo "Click here to buy this car";
}
虽然有效,但它还会在/ buy页面上显示“点击此处购买此车”,我想避免这样做!
我想要一个永久的解决方案,这意味着我不想特别检查“购买”,但检查ANY /子操作,以便上面仅在主CustomPostType页面上回显。
感谢您的帮助
答案 0 :(得分:0)
这比你可能想要的代码更重,但这应该有效:
// Get the current URL
$url = @( $_SERVER['HTTPS'] != 'on' ) ? 'http://' . $_SERVER['SERVER_NAME'] : 'https://' . $_SERVER['SERVER_NAME'];
$url .= ( $_SERVER['SERVER_PORT'] !== 80 ) ? ":" . $_SERVER['SERVER_PORT'] : '';
$url .= $_SERVER['REQUEST_URI'];
// If current URL is for cars and not the "buy" page
if ( is_singular('car') && !strpos($url,'/buy') ) {
echo "Click here to buy this car";
}
<强>来源:强>
答案 1 :(得分:0)
global $wp_query;
if (is_singular('car') && !isset($wp_query->query['buy'])) {
echo "Click here to buy this car";
}