当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「関数リファレンス/is post type archive」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(2013-11-30T08:25:14 Mistercat 版から新規作成。)
 
(戻り値セクションを和訳。)
 
1行目: 1行目:
 
== 説明 ==
 
== 説明 ==
  
指定された[[Glossary#Post_Type|投稿タイプ]]のアーカイブページ向け[[Glossary#Query|クエリ]]かどうかをチェックします。
+
現在の[[Glossary#Query|クエリ]]が、指定された[[Glossary#Post_Type|投稿タイプ]]のアーカイブページ向け[[Glossary#Query|クエリ]]かどうかをチェックします。
  
 
== 使い方 ==
 
== 使い方 ==
9行目: 9行目:
 
== パラメータ ==
 
== パラメータ ==
  
{{Parameter|$post_types|array/string|チェックしたい投稿タイプまたはその配列。|optional}}
+
{{Parameter|$post_types|配列&#124;文字列|チェックしたい投稿タイプ、またはその配列。|オプション}}
  
 
== 戻り値 ==
 
== 戻り値 ==
  
{{Return||boolean|Whether the ''query'' is for an archive page of a given ''post type(s)''.}}
+
{{Return||真偽値|''クエリ'' が指定された ''投稿タイプ'' のアーカイブページ用であるか。}}
 +
: '''参考''':パラメータが空の場合、任意のカスタム投稿タイプのアーカイブページであれば true を返します。
  
 
== 用例 ==
 
== 用例 ==
31行目: 32行目:
 
== 注 ==
 
== 注 ==
  
これは <tt>/category/uncategorized/?post_type=custom</tt> のようなページでは false が返されます。true が返ってくるのは <tt>/?post_type=custom</tt> のようなページのみです。言い換えれば、クエリパラメータ内に <tt>post_type</tt> が存在しているかをチェックしているのではなく、指定された投稿タイプ全部のアーカイブページなのかどうかをチェックしているということです。クエリ変数を取得するには [[関数リファレンス/get query var|<tt>get_query_var('post_type')</tt>]] があります。
+
これは <tt>/category/uncategorized/?post_type=custom</tt> のようなページでは false が返されます。true が返ってくるのは <tt>/?post_type=custom</tt> のようなページのみです。言い換えれば、クエリパラメータ内に <tt>post_type</tt> が存在しているかをチェックしているのではなく、指定された投稿タイプの投稿すべてを表示するアーカイブページであるかをチェックしているということです。クエリ変数を取得するには [[関数リファレンス/get query var|<tt>get_query_var('post_type')</tt>]] があります。
  
 
この関数が実行されるタイミングによっては <code>nav_menu_item</code> 経由で実行されない場合もあります。以下の例をご覧ください。
 
この関数が実行されるタイミングによっては <code>nav_menu_item</code> 経由で実行されない場合もあります。以下の例をご覧ください。

2014年8月11日 (月) 19:59時点における最新版

説明

現在のクエリが、指定された投稿タイプのアーカイブページ向けクエリかどうかをチェックします。

使い方

<?php is_post_type_archive( $post_types ); ?>

パラメータ

$post_types
配列|文字列) (オプション) チェックしたい投稿タイプ、またはその配列。
初期値: なし

戻り値

(真偽値) 
クエリ が指定された 投稿タイプ のアーカイブページ用であるか。
参考:パラメータが空の場合、任意のカスタム投稿タイプのアーカイブページであれば true を返します。

用例

現在のページがカスタム投稿タイプのアーカイブページかどうかを確認し、そうであればその「カスタム投稿タイプ」のタイトルを表示する。

<?php
if ( is_post_type_archive() ) {
    ?>
    <h1><?php post_type_archive_title(); ?></h1>
    <?php
}
?>

これは /category/uncategorized/?post_type=custom のようなページでは false が返されます。true が返ってくるのは /?post_type=custom のようなページのみです。言い換えれば、クエリパラメータ内に post_type が存在しているかをチェックしているのではなく、指定された投稿タイプの投稿すべてを表示するアーカイブページであるかをチェックしているということです。クエリ変数を取得するには get_query_var('post_type') があります。

この関数が実行されるタイミングによっては nav_menu_item 経由で実行されない場合もあります。以下の例をご覧ください。

<?php
function some_func( $query ){
    if ( is_post_type_archive('my_custom_post_type') ) {
         // 何かを実行
    }
}
add_action('pre_get_posts','some_func');
?>

テーマがナビゲーションメニューを使っているかどうかにより、「何かを実行」部分がメニュー内で実行されたりされなかったりします。正しい使い方は以下のとおりです。

<?php
function some_func( $query ){
    if ( is_post_type_archive('my_custom_post_type') 
         && ! empty( $query->query['post_type']  == 'my_custom_post_type' ) {
         // 何かを実行
    }
}
add_action('pre_get_posts','some_func');
?>

更新履歴

ソースファイル

is_post_type_archive()wp-includes/query.php にあります。

関連資料

投稿タイプ: register_post_type(), add_post_type_support(), remove_post_type_support(), post_type_supports(), post_type_exists(), set_post_type(), get_post_type(), get_post_types(), get_post_type_object(), get_post_type_capabilities(), get_post_type_labels(), is_post_type_hierarchical(), is_post_type_archive(), post_type_archive_title()


条件分岐タグis_404(), is_admin(), is_admin_bar_showing(), is_archive(), is_attachment(), is_author(), is_category(), is_comments_popup(), is_date(), is_day(), is_feed(), is_front_page(), is_home(), is_local_attachment(), is_main_query, /is_multi_author, is_month(), is_new_day(), is_page(), is_page_template(), is_paged(), is_plugin_active(), is_plugin_active_for_network() /en, is_plugin_inactive() /en, is_plugin_page() /en, is_post_type_archive(), is_preview() /en, is_search(), is_single(), is_singular(), is_sticky(), is_tag(), is_tax(), is_taxonomy_hierarchical(), is_time(), is_trackback(), is_year(), in_category(), in_the_loop(), is_active_sidebar(), is_active_widget(), is_blog_installed() /en, is_rtl(), is_dynamic_sidebar(), is_user_logged_in(), has_excerpt(), has_post_thumbnail(), has_tag(), pings_open(), email_exists(), post_type_exists(), taxonomy_exists(), term_exists(), username_exists() /en, wp_attachment_is_image(), wp_script_is()



関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/is_post_type_archive最新版との差分