投稿のアーカイブページのIDを取得しようとしています。管理者から投稿ページとして設定されているため、すでにデフォルトのクエリが設定されています。私が使っているテンプレートはindex.php
です、page-blog.php
を使ってみましたが、私はそのページを投稿アーカイブとして設定していたので代わりにindex.php
を使いました(これは捨てられたようです)。
echo get_the_id()
は、ページIDの代わりに私の一番上のブログ投稿のID(この場合はスティッキー)を返します。私はループの外にいます。
ここでも同様の質問があります。 投稿/ブログページのID ですが、目的は多少異なり、代わりに投稿アーカイブを取得するためにget_option('page_for_posts')
を使用するという解決策があります。 ID、私が投稿アーカイブページにいるかどうかを検出する方法が必要です。
私が使ってみました:
if (is_page('blog')){ $current_id = get_option('page_for_posts')
しかし、これはうまくいきませんでした。グローバルな$post
オブジェクトは私のアーカイブページではなく私のスティッキーポストを参照しているようです。
私が見つけた答えは回避策のようですが、$post
screwupである根本的な問題に対処していません。足りないものはありますか、それとも別の方法で対処する必要がありますか。私は自分の投稿アーカイブページを私のホームページではないことが明示的に必要です。
理解した。投稿アーカイブページかどうかを検出するにはis_home()
を使います。私はいつもその機能はそれがホームページであるかどうかを判断することだと思っていたので、直感に反するようなものです。そのためのis_front_page()
があることがわかりました。