するトップPHPに関する質問WordPressで、選択した記事(イベント)だけトップに表示させたい/終了したイベントは非表示にしたい。-イベント一覧ページでは全ての情報を表示カスタムフィールドでの絞り込みなどを行わずにカスタム投稿タイプのアーカイブとして表示させることですべての投稿が取得できます。真偽値を使って、カスタムフィールドで、✔️をはずすとトップページ非表示などできないものでしょうか?真偽値である必要は無いと思います。カスタムフィールドに任意のキーと値(キーは`display`、値は`on`など)を与えて、その値を含む投稿を表示するというやり方で良いと思います。あとは入力するカスタムフィールドの項目をチェックボックスにしておけば切り替えは容易に行えるはずです。以下のようにしたのですが、本日以前も表示されてしまいます。`date("yy/mm/dd")`という箇所を`date("y/m/d")`などの`meta_value`と同じ適切な形式に修正してください。現状では、例えば本日2016年4月29日の日付を`date("yy/mm/dd")`で取得すると`1616/0404/2929`となってしまいます。---**追記**(一部訂正)ACFで指定する日付と`date_query`で指定する日付を混同しています。(私も混同しました)`date()`による書式化した日付の指定の仕方とACFの設定する日付の指定の仕方はフォーマットが異なります。ACFで設定する「**フォーマットを保存する**」という項目ではデフォルトの`yymmdd`とし、「**表示フォーマット**」という項目では日付を認識しやすいように`yy/mm/dd`としてください。これはそのまま`echo`などで出力すると`20160502`のような日付の形式になるので`2016/05/02`という形式で表示させたい時は次のようにして下さい。カスタムタクソノミーについては`tax_query`を利用した方が柔軟に対応できると思います。`tax_query`に渡すカスタムタクソノミーは正確に指定しなければ有効にならないので、よく確認して指定して下さい。カスタム投稿タイプのアーカイブについてですが、これはカスタム投稿タイプで`has_archive`というパラメータが`true`になっていれば、特に何もしなくとも、そのカスタム投稿タイプのアーカイブのURL(`domain.com/event/`など)にアクセスすることでそのまま通常のループ中にすべて表示されます。カスタムタクソノミーはプラグインが用意したものということなので、アーカイブページにアクセス出来なければおそらく`has_archive`が有効になっていません。アーカイブページへのアクセスを確認するときは、念の為にパーマリンク設定を更新してからアクセスしてください。独自のテンプレートにしたい場合はファイル名を**archive-event.php**として作成して下さい。こちらも投稿の一覧を表示させるループは通常の書き方で大丈夫です。こちらも投稿の一覧を表示させるループは通常の書き方で大丈夫です。---**補足**WordPress(PHP)に限った話ではないですが「取得する情報の内容」を確認する癖を付けておくと良いです。-イベント一覧ページでは全ての情報を表示カスタムフィールドでの絞り込みなどを行わずにカスタム投稿タイプのアーカイブとして表示させることですべての投稿が取得できます。真偽値を使って、カスタムフィールドで、✔️をはずすとトップページ非表示などできないものでしょうか?真偽値である必要は無いと思います。カスタムフィールドに任意のキーと値(キーは`display`、値は`on`など)を与えて、その値を含む投稿を表示するというやり方で良いと思います。あとは入力するカスタムフィールドの項目をチェックボックスにしておけば切り替えは容易に行えるはずです。以下のようにしたのですが、本日以前も表示されてしまいます。`date("yy/mm/dd")`という箇所を`date("y/m/d")`などの`meta_value`と同じ適切な形式に修正してください。現状では、例えば本日2016年4月29日の日付を`date("yy/mm/dd")`で取得すると`1616/0404/2929`となってしまいます。---**追記**(一部訂正)ACFで指定する日付と`date_query`で指定する日付を混同しています。(私も混同しました)`date()`による書式化した日付の指定の仕方とACFの設定する日付の指定の仕方はフォーマットが異なります。「**フォーマットを保存する**」という項目ではデフォルトの`yymmdd`とし、「**表示フォーマット**」という項目では日付を認識しやすいように`yy/mm/dd`としてください。ACFで設定する「**フォーマットを保存する**」という項目ではデフォルトの`yymmdd`とし、「**表示フォーマット**」という項目では日付を認識しやすいように`yy/mm/dd`としてください。これはそのまま`echo`などで出力すると`20160502`のような日付の形式になるので`2016/05/02`という形式で表示させたい時は次のようにして下さい。カスタムタクソノミーについては`tax_query`を利用した方が柔軟に対応できると思います。`tax_query`に渡すカスタムタクソノミーは正確に指定しなければ有効にならないので、よく確認して指定して下さい。カスタム投稿タイプのアーカイブについてですが、これはカスタム投稿タイプで`has_archive`というパラメータが`true`になっていれば、特に何もしなくとも、そのカスタム投稿タイプのアーカイブのURL(`domain.com/event/`など)にアクセスすることでそのまま通常のループ中にすべて表示されます。カスタムタクソノミーはプラグインが用意したものということなので、アーカイブページにアクセス出来なければおそらく`has_archive`が有効になっていません。アーカイブページへのアクセスを確認するときは、念の為にパーマリンク設定を更新してからアクセスしてください。独自のテンプレートにしたい場合はファイル名を**archive-event.php**として作成して下さい。こちらも投稿の一覧を表示させるループは通常の書き方で大丈夫です。-イベント一覧ページでは全ての情報を表示カスタムフィールドでの絞り込みなどを行わずにカスタム投稿タイプのアーカイブとして表示させることですべての投稿が取得できます。真偽値を使って、カスタムフィールドで、✔️をはずすとトップページ非表示などできないものでしょうか?真偽値である必要は無いと思います。カスタムフィールドに任意のキーと値(キーは`display`、値は`on`など)を与えて、その値を含む投稿を表示するというやり方で良いと思います。あとは入力するカスタムフィールドの項目をチェックボックスにしておけば切り替えは容易に行えるはずです。以下のようにしたのですが、本日以前も表示されてしまいます。`date("yy/mm/dd")`という箇所を`date("y/m/d")`などの`meta_value`と同じ適切な形式に修正してください。現状では、例えば本日2016年4月29日の日付を`date("yy/mm/dd")`で取得すると`1616/0404/2929`となってしまいます。---**追記****追記**(一部訂正)すみません、`date("yy/mm/dd")`をそのまま`echo`すると`1616/0404/2929`となるので勘違いしていましたが、日付のフォーマットは`yymmdd`で良いみたいです。ACFで指定する日付と`date_query`で指定する日付を混同しています。(私も混同しました)`date()`による書式化した日付の指定の仕方とACFの設定する日付の指定の仕方はフォーマットが異なります。「**フォーマットを保存する**」という項目ではデフォルトの`yymmdd`とし、「**表示フォーマット**」という項目では日付を認識しやすいように`yy/mm/dd`としてください。これはそのまま`echo`などで出力すると`20160502`のような日付の形式になるので`2016/05/02`という形式で表示させたい時は次のようにして下さい。カスタムタクソノミーについては`tax_query`を利用した方が柔軟に対応できると思います。`tax_query`に渡すカスタムタクソノミーは正確に指定しなければ有効にならないので、よく確認して指定して下さい。カスタム投稿タイプのアーカイブについてですが、これはカスタム投稿タイプで`has_archive`というパラメータが`true`になっていれば、特に何もしなくとも、そのカスタム投稿タイプのアーカイブのURL(`domain.com/event/`など)にアクセスすることでそのまま通常のループ中にすべて表示されます。カスタムタクソノミーはプラグインが用意したものということなので、アーカイブページにアクセス出来なければおそらく`has_archive`が有効になっていません。アーカイブページへのアクセスを確認するときは、念の為にパーマリンク設定を更新してからアクセスしてください。独自のテンプレートにしたい場合はファイル名を**archive-event.php**として作成して下さい。こちらも投稿の一覧を表示させるループは通常の書き方で大丈夫です。-イベント一覧ページでは全ての情報を表示カスタムフィールドでの絞り込みなどを行わずにカスタム投稿タイプのアーカイブとして表示させることですべての投稿が取得できます。真偽値を使って、カスタムフィールドで、✔️をはずすとトップページ非表示などできないものでしょうか?真偽値である必要は無いと思います。カスタムフィールドに任意のキーと値(キーは`display`、値は`on`など)を与えて、その値を含む投稿を表示するというやり方で良いと思います。あとは入力するカスタムフィールドの項目をチェックボックスにしておけば切り替えは容易に行えるはずです。以下のようにしたのですが、本日以前も表示されてしまいます。`date("yy/mm/dd")`という箇所を`date("y/m/d")`などの`meta_value`と同じ適切な形式に修正してください。現状では、例えば本日2016年4月29日の日付を`date("yy/mm/dd")`で取得すると`1616/0404/2929`となってしまいます。---**追記**すみません、`date("yy/mm/dd")`をそのまま`echo`すると`1616/0404/2929`となるので勘違いしていましたが、日付のフォーマットは`yymmdd`で良いみたいです。「**フォーマットを保存する**」という項目ではデフォルトの`yymmdd`とし、「**表示フォーマット**」という項目では日付を認識しやすいように`yy/mm/dd`としてください。これはそのまま`echo`などで出力すると`20160502`のような日付の形式になるので`2016/05/02`という形式で表示させたい時は次のようにして下さい。カスタムタクソノミーについては`tax_query`を利用した方が柔軟に対応できると思います。`tax_query`に渡すカスタムタクソノミーは正確に指定しなければ有効にならないので、よく確認して指定して下さい。カスタム投稿タイプのアーカイブについてですが、これはカスタム投稿タイプで`has_archive`というパラメータが`true`になっていれば、特に何もしなくとも、そのカスタム投稿タイプのアーカイブのURL(`domain.com/event/`など)にアクセスすることでそのまま通常のループ中にすべて表示されます。カスタムタクソノミーはプラグインが用意したものということなので、アーカイブページにアクセス出来なければおそらく`has_archive`が有効になっていません。アーカイブページへのアクセスを確認するときは、念の為にパーマリンク設定を更新してからアクセスしてください。独自のテンプレートにしたい場合はファイル名を**archive-event.php**として作成して下さい。こちらも投稿の一覧を表示させるループは通常の書き方で大丈夫です。-イベント一覧ページでは全ての情報を表示カスタムフィールドでの絞り込みなどを行わずにカスタム投稿タイプのアーカイブとして表示させることですべての投稿が取得できます。真偽値を使って、カスタムフィールドで、✔️をはずすとトップページ非表示などできないものでしょうか?真偽値である必要は無いと思います。カスタムフィールドに任意のキーと値(キーは`display`、値は`on`など)を与えて、その値を含む投稿を表示するというやり方で良いと思います。あとは入力するカスタムフィールドの項目をチェックボックスにしておけば切り替えは容易に行えるはずです。以下のようにしたのですが、本日以前も表示されてしまいます。`date("yy/mm/dd")`という箇所を`date("y/m/d")`などの`meta_value`と同じ適切な形式に修正してください。現状では、例えば本日2016年4月29日の日付を`date("yy/mm/dd")`で取得すると`1616/0404/2929`となってしまいます。現状では、例えば本日2016年4月29日の日付を`date("yy/mm/dd")`で取得すると`1616/0404/2929`となってしまいます。---**追記**すみません、`date("yy/mm/dd")`をそのまま`echo`すると`1616/0404/2929`となるので勘違いしていましたが、日付のフォーマットは`yymmdd`で良いみたいです。「**フォーマットを保存する**」という項目ではデフォルトの`yymmdd`とし、「**表示フォーマット**」という項目では日付を認識しやすいように`yy/mm/dd`としてください。これはそのまま`echo`などで出力すると`20160502`のような日付の形式になるので`2016/05/02`という形式で表示させたい時は次のようにして下さい。カスタムタクソノミーについては`tax_query`を利用した方が柔軟に対応できると思います。`tax_query`に渡すカスタムタクソノミーは正確に指定しなければ有効にならないので、よく確認して指定して下さい。カスタム投稿タイプのアーカイブについてですが、これはカスタム投稿タイプで`has_archive`というパラメータが`true`になっていれば、特に何もしなくとも、そのカスタム投稿タイプのアーカイブのURL(`domain.com/event/`など)にアクセスすることでそのまま通常のループ中にすべて表示されます。カスタムタクソノミーはプラグインが用意したものということなので、アーカイブページにアクセス出来なければおそらく`has_archive`が有効になっていません。アーカイブページへのアクセスを確認するときは、念の為にパーマリンク設定を更新してからアクセスしてください。独自のテンプレートにしたい場合はファイル名を**archive-event.php**として作成して下さい。こちらも投稿の一覧を表示させるループは通常の書き方で大丈夫です。頂いたご意見への回答は行っておりません。Ltd.teratailアカウントでログインログイン新規会員登録パスワードを忘れた方SNSアカウントでログインFacebookでログインTwitterでログインGoogleでログインGitHubでログインHatenaでログイン思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る閉じる。