0

私の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 ページに「 Click here to buy this car 」も表示されます!

つまり、特に「購入」に対してチェックしたくありませんが、ANY /サブアクションに対してチェックして、上記がメインの CustomPostType ページでのみエコーされるようにします。

助けてくれてありがとう

4

2 に答える 2

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";
}

ソース:

于 2013-10-23T02:46:34.050 に答える