web-dev-qa-db-ja.com

現在のページが2ページのテンプレートの1つではない場合にのみコンテンツを表示する

現在のページが特定のページテンプレートを使用していない場合にのみコンテンツを表示するために、このif条件文を使用しています。

if (! is_page_template('template-custom.php')) {
    <!-- show some content  -->
}

これはうまくいっています。現在のページで2つのテンプレートのうちの1つが使用されていない場合は、コンテンツを表示するようにステートメントを修正する必要があります(したがって、現在のページがtemplate-custom.phpまたはtemplate-custom2.phpを使用する場合はコンテンツを表示しません)。

私はこれを試しました。

if (! is_page_template('template-custom.php') || is_page_template('template-custom2.php')) {
    <!-- show some content  -->
}

この;

if (! is_page_template('template-custom.php') || ! is_page_template('template-custom2.php')) {
    <!-- show some content  -->
}

しかし無駄に。

助言がありますか?

1
Poisontonomes

現在のテンプレートがtemplate-custom.phpまたはtemplate-custom2.phpの場合にコンテンツを表示したくない場合は、次のようにします。

if (!is_page_template('template-custom.php') && !is_page_template('template-custom2.php')) {
    <!-- show some content when you AREN NOT in template-custom.php NOR template-custom2.php -->
}

または

if (is_page_template('template-custom.php') || is_page_template('template-custom2.php')) {
    <!-- show some content when you ARE in template-custom.php OR template-custom2.php -->
}
3
cybmeta

によるとDe Morganの法則

"not (A or B)" is the same as "(not A) and (not B)"
0
birgire