web-dev-qa-db-ja.com

ifステートメントのis_page "range"?

私は自分のコードを短くしようとしていますが、答えを見つけるのに苦労しています、あるいは私が学んでいるようにそれをコーディングする方法すら苦労しています。

私が理解しているように、is_pageはページ範囲を許可していません...これを行うことができる別の方法はありますか?

私の現在のコードは:

if (is_user_logged_in()) {
    if (is_page( '310', '312', '314', '316', '318', '320', '322', '324', '326' )) {
        echo do_shortcode('[example shortcode]');
    }
    else {
        echo do_shortcode('[example shortcode]');
    }
}

問題は、私が「範囲」内にやらなければならないページが非常に多いことです。 310 - 326のようにするのがいいでしょう。

頭の上で、range()関数を使用してページ範囲変数を作成し、後でその変数を呼び出すことはできますか。

誰かがこのアイディアに関するいくつかのアイデアを手助けしてくれるでしょうか。そして私が学ぶのを助けるので、おそらく私が間違っていることをいくつか説明してください。

どうもありがとうございます。

1
Student

変数としてrangeを作成し、それをis_page()に設定するといいでしょう。

$range = range(310, 326);
if(is_page($range)){
    // your code..
}

is_page()関数は引数として配列を受け取ることができます。そして range() 関数の戻り配列。この例は私にはうまくいきます。

2
Maxim Sarandi