閲覧設定 ページでは、「フロントページ」と「投稿ページ」を設定できます。現在のページがis_front_page();
かどうかを確認できます
「投稿ページ」にも同様の機能がありますか。私はis_page();
がこの特別なページには機能しないことに気づきました。
ありがとう
やや複雑な関数名にもかかわらず、is_home()
は "投稿ページ"をチェックします。
Wordpressには7つの主要なテンプレートページタイプが付属しています。これはこの方法で決定できます。
if ( is_main_query() ) {
// Error
if ( is_404() ) {
;
}
// Front page
if ( is_front_page() ) {
;
}
// Archive
if ( is_archive() ) {
;
}
// Comments popup
if ( is_comments_popup() ) {
;
}
// Search
if ( is_search() ) {
;
}
// Singular
if ( is_singular() ) {
;
}
// Home - the blog page
if ( is_home() ) {
;
}
}
is_homeはあなたにブログページがあることを伝えます。
"投稿ページ"は通常以下のアーカイブです。
これらのそれぞれは、is_category() is_tag() is_date() is_archive()
のような多くの条件付きタグの1つによってチェックすることができます。理解を深めるには、codex /にアクセスしてください http://codex.wordpress.org/Conditional_Tags
まず著者、タグ、投稿タイプなどのブログ関連のことを確認してください
function is_blog () {
global $post;
$posttype = get_post_type($post );
return ( ((is_archive()) || (is_author()) || (is_category()) || (is_home()) || (is_single()) || (is_tag())) && ( $posttype == 'post') ) ? true : false ;
}
今、あなたが欲しいものをチェックして返してください。
function check_post_type(){
$postType;
if (is_blog())
{
$postType = 'I am post';
} else
{
$postType = 'I am page';
};
return $postType;
}
Bossのように使用してください<?php echo check_post_type();?>
おかげで Wes Bos
ケースA。メインテンプレートファイル(index.php)の中でそれを決定する必要はありません。それはそれのためのデフォルトテンプレートだからです。[1]。
ケースB。それをページテンプレート(例:page.php)の中で決定するには、単純に次のようにチェックしてください。
get_option( 'page_for_posts' ) == get_the_ID()
私は文字通りソースコードを掘りに行きました[2] それは、ワードプレスが値のチェックをどのように行うかを知ることができるためだけです。結局のところ、投稿ページの選択された値の投稿IDを知るためにステートメントget_option( 'page_for_posts' )
を使っています。
そう、この目的のために、is_front_page()
のような公式のチェッカー関数はありません。
選択したページのIDがわかっていれば、それを確認プロセスに使用できます。
WordPressコーデックス、テーマ開発、 codex.wordpress.org/Theme_Development
Settings› Reading Settingsのソースコード、 github.com/WordPress/.../wp-admin/options-reading.php