Baccho Log

No Image

Sponsored Link

[WordPress]WordPress 基礎【逆引き】

  • 投稿日:
  • 更新日:
Tags:
PHP WordPress
Categories:
プログラミング

テンプレートファイル

WordPressはヘッダーやフッター、サイドバー等々、部品別にphpファイルを読み込みを行うことが出来ます。
固定されたレイアウトの場合、各ページで流用することが出来ます。

さて、各テンプレートでどのようなファイルが必要かを見ていきます。

index.php

必ず必要なファイルです。
WordPressは、最終的にこのファイルを呼び出します。
なので、最悪このファイルにコードを書けばHPを作成できます。

single.php

個別記事を表示させるファイルです。
記事の続きを見るとかで、個別記事を見る場合にこのテンプレートファイルが呼び出されます。

page.php

固定ページを記載します。

header.php

ヘッダーを記載します。

footer.php

フッターを記載します。

sidebar.php

サイドバーを記載します。

searchform.php

検索フォームを記載します。

comments.php

コメントを記載します。

テンプレートインクルードタグ

WordPressにはテンプレートファイルを呼び出すメソッドが用意されています。
そのメソッドをインクルードタグと呼びます。

数はそこまで多くないので、覚えちゃいましょう。

get_header()

header.phpを読み込みます。

get_footer()

footer.phpを読み込みます。

get_sidebar()

sidebar.phpを読み込みます。

get_template_part()

任意のテンプレートファイルを読み込みます。
sample.phpというテンプレートファイルを作成した場合、get_template_part('sample')と記載します。
sampleがスラッグ名となり、それに付随した個別パーツを使用する場合は、第二引数に名前を指定します。

例えば、sample-table.php というテンプレートファイルを作成した場合、
sampleというスラッグにtableという個別パーツが指定できます。
get_template_part('sample', 'table')

ちなみに、ヘッダー・フッター・サイドバーは読み込みません。
【WordPress】任意のテンプレートパーツを読み込む関数[get_template_part() ;]の使い方。 – ONZE

get_search_form()

searchform.phpを読み込みます。

functions.php

オリジナルテーマを作成するにあたり、避けては通れないファイルです。
パンくずを作成したり、カスタム投稿タイプを作成したり、オリジナル関数を作成したり…
まだまだたくさんの事が出来ますが、WordPressをいじるのであれば必ず触ります。

グローバル変数

WP固有のグローバル変数です。
グローバル変数

詳しい方でしたらいいと思うのですが、
個人的にはグローバル変数は極力使用しないほうがいいと思ってます。
誤って書き換えてしまう可能性があるので、WPで用意されている関数で取得した方が誤りが起こりにくいと思います。

関数

get_category($category[, $output[, $filter]])

get_queried_object()

現在の表示ページのオブジェクトを取得します。

  • 単一投稿ページを表示中なら、投稿オブジェクト。
  • 定ページを表示中なら、固定ページのオブジェクト。
  • カテゴリーアーカイブを表示中なら、カテゴリーオブジェクト。
  • 投稿者アーカイブを表示中なら、投稿者オブジェクト。

get_ancestors()

comments_template()

comments.phpを読み込みます。
参考

調べた関数

is_singular() => is_single(), is_attachment(), is_page() のいずれかがTrueであれば、Trueを返す。
is_single() => 個別投稿ページ(または添付ファイルページ・カスタム投稿タイプの個別ページ)が表示されている場合 True を返す。
is_attachment() => 添付が表示されていればTrueを返す。
is_page() => 固定ページが表示されている場合 True を返す。
is_admin() => ダッシュボードまたは管理パネルが表示されていればTrueを返す。
is_home() => 管理ページ上で、最新投稿ページ, 固定ページの投稿ページが指定されているページに適用します。
is_front_page() => 管理ページ上で、最新投稿ページ, 固定ページのフロントページが指定されているページに適用します。
is_date() => 日付アーカイブであればtrue
is_day() => 日別アーカイブであればtrue
is_month() => 月別アーカイブであればtrue
is_year() => 年別アーカイブであればtrue
get_day_link($year, $month, $day) => 日別アーカイブのパーマリンク
get_month_link($year, $month) => 月別アーカイブのパーマリンク
get_year_link($year) => 年別アーカイブのパーマリンク

wp_enqueue_script( “comment-reply” )

WordPress のコメント欄で必要になる JavaScript ファイルを読み込みます。
読み込むファイルはcomment-reply.jsです。
これは、コメントを返信する際、「返信」リンクをクリックしますが、クリックするとコメントフォームがすぐ下に移動してきます。
このファイルが読み込まれない場合、コメントフォームが移動されません。

wp_head()

状況に応じて必要なコードを自動で出力するために必要な記述です。
例えばプラグインなどを使ったとき、そのスタイルシートのリンクを出力したりするのに必要な記述です。

have_posts()

投稿があるか真偽値を返す

the_post()

the_ID()

現在の記事のIDを返します。
ループ中に使用します。

post_class()

投稿ページによってclassを自動で生成します。
詳細は公式ドキュメント参照して下さい。
post_class

the_title()

現在の記事のタイトルを返します。
ループ中に使用します。

構文

the_title([$before[, $after[ , $view]]])

  1. $before
    タイトルの前に付けるテキストを指定します。(初期値:管理画面上(設定 > 一般 > 日付のフォーマット)で指定した形式)
    フォーマットはこちら を参考にして下さい。
  2. $after
    タイトルの後に付けるテキストを指定します。(初期値:なし)
  3. $view
    タイトルを表示するかを真偽値で指定します。(初期値:True)

ループじゃない時に指定する際は、get_the_title( $ID )メソッド を使用します。

the_permalink()

記事のパーマネントリンク(URL)を返します。
ループ中に使用します。

ループじゃない時に使用する際は、get_permalink( $id, $leavename )メソッド を使用します。

the_date()

記事の投稿日時を返します。
ループ中に使用します。

構文

the_date([$format[, $before[, $after[, $echo]]]])

  1. $format
    日時の出力形式(フォーマット)を指定します。
  2. $before
    投稿/更新日の直前に出力するコードやテキストを指定します。(初期値:なし)
  3. $after
    投稿/更新日の直後に出力するコードやテキストを指定します。(初期値:なし)
  4. $echo
    Trueを指定で日付をページ表示します。
    Falseを指定でPHPで使用できる値として日付を返します。(初期値:True)

同じ日に複数の投稿があった場合は、最初の投稿だけが一度だけ出力されます。
全ての投稿に日付を出力させたい場合はget_the_date() を使用して下さい。

the_category()

記事のカテゴリを表示します。
ループ中に使用します。

構文

the_category([$separator[, $parents[, $post_id]]])

  1. $separator
    複数のカテゴリが登録されている際の区切り文字を指定します。
    初期値では、カテゴリ全体をulで囲い、各々をliで並べます。
  2. $parents
    子カテゴリ(サブカテゴリ)が登録されていた場合、親カテゴリの表示方法を指定します。
    初期値では、子カテゴリのみを表示させます。

    • multiple
      親子カテゴリのリンクを別々に表示させます。
    • single
      子カテゴリのリンクを表示させます。(見た目は親/子になります)
  3. $post_id
    カテゴリを取得する投稿のIDを整数値で指定します。
    初期値はFalse で現在の投稿についているカテゴリリストとなります。

the_tags()

記事のタグを表示します。
ループ中に使用します。

構文

the_tags([$before[, $separator[, $after]]])

  1. $before
    タグ一覧の前に表示するテキストを指定します。(初期値: Tags:)
  2. $separator
    複数のカテゴリが登録されている際の区切り文字を指定します。(初期値: ,)
  3. $after
    タグ一覧の後に表示するテキストを指定します。(初期値: なし)

the_author()

記事の投稿者の名前を表示します。
ループ中に使用します。
引数はありません。

get_author_posts_url()

投稿者のアーカイブ(投稿記事一覧)のURLを返します。

構文

get_author_posts_url($author_id[, $author_nicename])

  1. $author_id
    投稿者のidを指定します。
  2. $author_nicename
    投稿者のスラッグを指定します。(初期値: なし)
    省略された場合、$author_idの著者情報を取得し、そのスラッグが適用されます。
    指定された場合、それがそのままURLのスラッグに適用されます。

get_the_author_meta()

投稿者のメタデータを取得します。

構文

get_the_author_meta( $field, $userID )

  1. $field
    取得するデータのフィールド名を記載します。
  2. $userID
    投稿者のIDを指定します。
    ループ中であれば省略可能です。(現在の投稿者IDが入ります)

フィールド名の有効な値については、公式を参照してください。
get_the_author_meta

comments_popup_link()

コメント数を表示

構文

comments_popup_link([$zero[, $one[, $more[, $css_class[, $none]]]]])

  1. $zero
    コメント数が0の時に表示するテキストを指定します。(初期値: No Comments)
  2. $one
    コメント数が1の時に表示するテキストを指定します。(初期値: 1 Comments)
  3. $more
    コメント数が2以上の時に表示するテキストを指定します。
    %で現在のコメント数に書き換えられます。(初期値: % Comments)
  4. $css_class
    コメントのa要素にclassを指定します。(初期値: なし)
  5. $none
    コメントを受け付けていない場合に表示するテキストです。(初期値: Comments Off)

the_content()

コンテンツ(画像含む)、続きを読むのリンクを表示
ループ中に使用します。

構文

the_content( $more_link_text, $stripteaser )

  1. $more_link_text
    以降を読むためのリンクとして表示するテキストを指定します。(初期値: more…)
  2. $stripteaser
    以前の内容を隠すかどうかを真偽値で指定します。(初期値: False(全文表示))

ページャーを作る

いくつかのパターンがありますので、順に説明していきます。

個別記事に対してのページャー

ブログとかで、次回の記事とか前回の記事へのリンクを付ける方法です。
個別投稿ページですので、基本single.phpindex.phpを使用するのかなと思います。

htmlタグは必要であれば自由に書き換えて下さい。

single.phpに直接記載する場合

<div class="post_pager">
    <span id="prev">
<?php
if(get_previous_post()) {
    // 以前の投稿があればリンク
    previous_post_link('%link', '« %title');
} else {
    // 過去に投稿がない場合はテキスト
    echo '最初の投稿です';
} ?>
    </span>
    <span id="next">
<?php
if(get_next_post()) {
    // 以降の投稿があればリンク
    next_post_link('%link', '%title »');
} else {
    // 以降に投稿がない場合はテキスト
    echo '最新の投稿です';
} ?>
    </span>
</div>
解説
get_previous_post([$in_same_term[, $excluded_terms[, $taxonomy]]])

現在の投稿に隣接している前の投稿を取得します。
取得出来た場合、WP_Postオブジェクトが返ります。
投稿が存在しない場合、空文字列が返ります。それ以外はNULLが返ります。

構文
  1. $in_same_term
    現在の投稿と同様のタクソノミー・タームの投稿に限定するかを指定します。(初期値: false)
    trueにすると現在のタクソノミー・タームがついた投稿を表示します。
    平たくいうと、現在の投稿記事と同じカテゴリIDの記事を表示させます。
  2. $excluded_terms
    表示させないタームID(カテゴリID)を指定します。複数ある場合は、配列指定するかカンマ区切りで指定します。(初期値: なし)
  3. $taxonomy
    タクソノミーを指定します。これは第三引数がtrueの場合にのみ有効です。(初期値: category)
get_next_post([$in_same_term[, $excluded_terms[, $taxonomy]]])

現在の投稿に隣接している次の投稿を取得します。
構文は、前項のget_previous_postとなので、省略します。

next_post_link([$format[, $link[, $in_same_term[, $excluded_terms[, $taxonomy]]]]]])

現在の投稿の日付から一つ後の投稿へのリンクを表示します

構文
  1. $format
    リンクの前後に表示する文字列を設定します。%linkと表記すると、第二引数に置き換えられます。(初期値: %link »)
    → %link ←と記載したならば、→ <a href="...">...</a> ←となります。
    htmlタグも使用可能です。
  2. $link
    表示するテキストを設定します。%titleで一つ前の投稿タイトルを取得します。(初期値: %title)
  3. $in_same_term
    現在の投稿と同様のタクソノミー・タームの投稿に限定するかを指定します。(初期値: false)
    trueにすると現在のタクソノミー・タームがついた投稿を表示します。
    平たくいうと、現在の投稿記事と同じカテゴリIDの記事を表示させます。
  4. $excluded_terms
    表示させないタームID(カテゴリID)を指定します。複数ある場合は、配列指定するかカンマ区切りで指定します。(初期値: なし)
    Ex.1)next_post_link('%link%', '%title%, true, array(1, 5))
    Ex.2)next_post_link('%link%', '%title%, true, '1, 5')
  5. $taxonomy
    タクソノミーを指定します。これは第三引数がtrueの場合にのみ有効です。(初期値: category)
previous_post_link([$format[, $link[, $in_same_term[, $excluded_terms[, $taxonomy]]]]]])

現在の投稿の日付から一つ前の投稿へのリンクを表示します

構文
  1. $format
    基本はnext_post_linkと同様です。初期値のみ違います。(初期値: « %link)
  2. $link
    表示するテキストを設定します。%titleで次の投稿タイトルを取得します。(初期値: %title)
  3. $in_same_term
    next_post_linkと同様です。
  4. $excluded_terms
    next_post_linkと同様です。
  5. $taxonomy
    next_post_linkと同様です。

Ex)functions.phpに記載する場合

<?php
// functions.php
function single_pager() {
    // $prev = get_adjacent_post(false, '', true);
    // $next = get_adjacent_post(false, '', false);
    $prev = get_previous_post();
    $next = get_next_post();
    $tag  = '<div class="post-navi">';
    $tag .= $prev ? '<span id="prev"><a href="' . get_permalink($prev->ID) . '">« ' . get_the_title($prev->ID) . '</a></span>' : '<span id="prev">最初の投稿です</span>';
    $tag .= $next ? '<span id="prev"><a href="' . get_permalink($next->ID) . '">' . get_the_title($next->ID) . ' »</a></span>' : '<span id="next">最新の投稿です</span>';
    $tag .= '</div>';
    echo $tag;
}

リンクの部分をそれぞれ記載していますが、previous_post_link(), next_post_link() を使用してしまうと、タグ表示位置が崩れるためこうしています。
恐らく呼び出されるタイミングだと思っているのですが、未検証のため何故崩れるのかは不明です。

「次へ」と「前へ」の二つを設置する

テンプレートファイルにそのまま書き込む

single.phparchive.phpindex.phpなどに直接書いていく方法です。

固定ページ以外(page.php) の場合

<?php

get_adjacent_post(false, ”, false);
固定ページ

get_previous_post()
get_next_post()
でも固定ページの取得は可能ですが、投稿時間順で取得されてしまうため、
固定ページにおいては、意図した結果にならない場合がある。

個別投稿ページについては、この関数でいいと思います。

wp_query

WP Query
$max_num_pagesプロパティを使用します。

$max_num_pages

ページの合計数を返します。

next_posts_link()

現在のクエリ内で、投稿の次のセットへのリンクを表示します。

構文

next_posts_link([$label[, $max_pages]])

  1. $label
    リンクのテキストを指定します。(初期値: Next Page »)
  2. $max_pages
    リンクを表示するページ番号の上限を指定します(初期値: 0 ※上限なし)

previous_posts_link()

現在のクエリ内で、投稿の一つ前のセットへのリンクを表示します。

構文

previous_posts_link([$label])

  1. $label
    リンクのテキストを指定します。(初期値: « Previous Page)
<?php
// ページが複数存在するか確認
if ($wp_query->max_num_pages > 1) {
    $tag = '<div class="navigation">';
    $tag .= '<div class="alignleft">' . next_posts_link('« PREV') . '</div>';
    $tag .= '<div class="alignright">' . previous_posts_link('NEXT »') . '</div>';
    $tag .= '</div>';
}

投稿クエリは日付の逆順にソートされるのが普通です。
そのため通常は、next_posts_link() が古い投稿(セットの終わり方向)を指し、previous_posts_link() が新しい投稿(セットの始まり方向)を指します。

have_comments()

ループで処理するコメントがあるかを真偽値で返します。

wp_list_comments()

投稿や固定ページのコメントを表示します。

構文

wp_list_comments([$args[, $comments]])

  1. $args
    コメントリストのタグや、アバターの画像サイズ等、各オプションを配列で設定します。
    指定するオプションが一つの場合、文字列として指定が可能です。
  2. $comments

wp_list_comments

comment_form()

コメントフォームを出力します。

構文

comment_form([$args[, $post_id]])

  1. $args
    コメントフォーム内のオプションを配列で設定します。
    (初期値: Option 一覧
  2. $post_id
    投稿を指定します。Nullが指定されている場合は、現在の投稿を使用するフォームを生成する投稿IDを生成します。(初期値: Null)

機能を追加する

まず、functions.phpというファイルを、テーマフォルダに保存します。
このファイルはテーマ内で利用する機能を設定するファイルです。

Widget

Widget機能を追加するには、下記のコードを入力します。
関数名は任意のもので大丈夫です。

 'サイドバーウィジット-1',
            'id' =>'sidebar-1',
            'description' => 'サイドバーのウィジットエリアです。',
            'before_widget' => '
', 'after_widget' => '
', ) ); } add_action( 'widgets_init', 'simplesimple_widgets_init' );

### カスタムメニュー
外観 > メニュー
より、管理画面上でカスタムしたメニューを表示出来るように設定します。

“`php
<?php
// カスタムメニューの有効化
add_theme_support('menus');

// カスタムメニューのIDと名称を設定
register_nav_menu('header-navi', 'ヘッダーのナビゲーション');
register_nav_menu('footer-navi', 'フッターのナビゲーション');
“`

#### register_nav_menu()
#### wp_nav_menu()

### サイドバーを設定する
外観 > ウィジェット で登録したサイドバーウィジェットを表示させます。
#### dynamic_sidebar()
Widgetで登録したサイドバーを表示します。
##### 構文
`dynamic_sidebar( $index )`

1. $index
Widgetで登録したサイドバーの名前 もしくは ID番号を記載します。

#### is_active_sidebar()
サイドバーが有効化されているかを調べます。
##### 構文
`is_active_sidebar( $index )`

1. $index
Widgetで登録したサイドバーの名前 もしくは ID番号を記載します。

## header
ページタイトルを設定します。
これまでは、wp_titleをtitleタグに入れてましたが、
今後は、functions.php内で設定するのが推奨になると思われます。

### add_theme_support(‘title-tag’)
`functions.php`内に、この関数を入力すれば、`wp_head()`時にtitleが設定されます。

デフォルトでは、下記の記載となります。

– トップページ
サイト名 – キャッチフレーズ
– その他のページ
ページに沿った名称 – サイト名

また、wp_title同様カスタマイズも可能です。

“`php
<?php
/*——————————
デフォルトで使用
——————————*/
add_theme_support('title-tag');

/*——————————
区切り文字を"|"にする
——————————*/
function custom_ttl_sep($sep) {
$sep = '|';
return $sep;
}
add_filter('document_title_separator', 'custom_ttl_sep'); // 第二引数の関数名は好きに変更可能です。
add_theme_support('title-tag');

/*——————————
タイトルを変更する
——————————*/
function custom_ttl($title) {
$title = 'hogehoge';
return $title;
}
add_filter('pre_get_document_title', 'custom_ttl');
add_theme_support('title-tag');

/*——————————
パーツごとにタイトルを変更する
——————————*/
function custom_ttl_parts($parts) {
// ページタイトル(左側に表示される箇所)
$parts['title'] = 'My Home Page';
// ページ番号
$parts['page'] = 'Page Number';
// キャッチフレーズ(サブタイトル)
// トップページの右側に表示される箇所
$parts['tagline'] = 'Sub Title';
// サイト名(通常右側に表示される箇所)
// トップページではtitleに該当されるため、一番右側に表示される。
$parts['site'] = 'Site Name'
return $parts;
}
add_filter('document_title_parts', 'custom_ttl_parts');
add_theme_support('title-tag');
“`

実際、パーツごとの変更で使用するのは`title`か`site`くらいなもんじゃないかなーとは思います。

**補足**
h1タグでページタイトルを入れたい場合です。
`wp_get_document_title()`関数でタイトルを取得することが可能です。
デフォルトですと、サブタイトルも含まれてしまいますので、
`add_theme_support(‘title-tag’)`の`document_title_parts`で出力する内容を調整します。

“`php
<?php
// functions.php
function custom_ttl_parts($parts) {
$parts['tagline'] = '';
return $parts;
}
add_filter('document_title_parts', 'custom_ttl_parts');
add_theme_support('title-tag');
“`

“`php
<!– トップページ –>
<h1><?php echo wp_get_document_title(); ?></h1>
“`

これで、h1の中にはサブタイトルがない状態で表示されます。

しかし、titleもサブタイトルが抜けてます。
titleにはサブタイトルを入れたいが、h1では抜きたい場合の方法も紹介します。

“`php
<?php
// functions.php
function custom_ttl_parts($parts) {
if(!doing_action('wp_head')) $parts['tagline'] = '';
return $parts;
}
add_filter('document_title_parts', 'custom_ttl_parts');
add_theme_support('title-tag');
“`

トップページは同じなので割愛。
functions.phpに`!doing_action(‘wp_head’)`を記載することで実現できます。
`doing_action()`は、指定した関数が実行されているかどうかを真偽値で返します。
今回のケースでいうと、`wp_head`が実行されている場合は`tagline`をデフォルトで表示
実行されていない場合は、空欄で表示するようになります。

関数の実行タイミングが分かっている必要がありますが、
色々と使えそうな関数ですので、覚えておいて損はないかも。

▼参考サイト
WordPress カスタマイズ辞典
ねんでぶろぐ
或る阿呆の記

## footer
### wp_footer()
状況に応じて必要なコードを自動で出力するために必要な記述です。
例えばプラグインなどを使ったとき、そのスタイルシートのリンクを出力したりするのに必要な記述です。

## 個別記事ページの作成
single.phpの中身です。
基本的には、index.phpをベースに作成していいと思います。

`the_content()`メソッドでは、今回全ての記事内容を読み込むため、
index.phpで指定した、第一引数の「続きを読む >>」は不要です。

## メイン
### コンテンツ幅
メインコンテンツ幅を設定します。
`if ( ! isset( $content_width ) ) $content_width = 600;`

## ページャー
### 記事を複数ページに分ける
投稿画面で、を指定すると、ページを区切ることが出来ます。
これを実装させるために、`wp_link_pages`を設定します。

 '',
        'link_before' => '',
        'link_after' => '',
    );
    wp_link_pages($args);
?>

head

langを自動で指定する

<html <?php language_attributes(); ?>>

RSS2フィードリンクを表示する

add_theme_support('automatic-feed-links');

クラス名の設定

bodyのクラス名

<body <?php body_class(); ?>>

  • global $post
    WordPress 固有のグローバル変数の一つです。
    現在の投稿オブジェクトが入ってます。
  • if(is_home() || is_admin()) return;
    トップページ及び管理画面に影響がないように記載します。

投稿情報の取得

メインループ

functions.phpにて、pre_get_postsのアクションフックで指定した条件がループします。
1ページに1回のみ処理されるループです。
明示的に指定をすることなく、データを取得することが出来ます。

サブループ

1ページに何回でも処理することが出来ます。
1回毎に明示的に条件を指定しなければなりません。
メインループとは別の条件でループさせたい場合や、1ページ内に2箇所ループさせる箇所がある場合はサブループを使用します。
サブループにはWP_Queryを使用します。

メインループとサブループ| WordPressテックラボ | [Smart]
WP_Queryの使い方をPHPコードにまとめた便利なコード・スニペット

pre_get_posts 使用例

<?php
// functions.php
functin roop_the_roop($query) {
    // 管理画面に影響を出さないおまじない
    if(is_admin() || !$query->is_main_query()) return;

}

$wp_query

概要

WPのグローバル変数の一つ。
WP_Queryオブジェクトを参照してます。

現在表示されているページの情報が入っています。

get_query_var()

概要

$wp_queryに格納されている配列 query_vars の中身を取得します。

基本的には、投稿ページ(archive)に属するテンプレート階層で使用するのがいいと思われます。

構文

get_query_var($var)
下記の変数名のいずれかを必ず指定します。
指定した変数の中身が帰ります。

変数名 返り値の型 意味
cat string カテゴリID
category_name string カテゴリ名
category__and array すべてに該当するカテゴリIDの配列
category__in array 該当するカテゴリIDの配列
category__not_in array 除外するカテゴリIDの配列
meta_key string カスタムフィールドの名前
meta_value string カスタムフィールドの値
order string 並び順
orderby string 並び順を決める項目名
p int 投稿情報ID
paged int ページング時のページ番号
post__in array 該当する投稿情報IDの配列
post__not_in array 除外する投稿情報IDの配列
posts_par_page int 1ページの投稿数
s string 検索キーワード
tag string 投稿タグ名
tag_id int 投稿タグID
tag__and array すべてに該当する投稿タグIDの配列
tag__in array 該当する投稿タグIDの配列
tag__not_in array 除外する投稿タグIDの配列
tag_slug__and array すべてに該当する投稿タグスラッグの配列
tag_slug__in array 該当する投稿タグスラッグの配列

get_queried_object()

概要

$wp_queryに格納されている配列 queried_object のオブジェクトを取得します。
表示するページによってはNullなので、使用するページは気をつけること。

参考
WordPress : get_queried_object()の返り値のまとめ

get_ancestors()

概要

先祖のIDを配列で取得します。
親階層から順に、配列が生成されていきます。
パンくずを生成する場合は、array_reverseで逆から取り出すのがベターです。

自身のIDは生成されません。

構文

get_ancestors([$obj_id[, $obj_type[, $resource_type]]])

  • $obj_id
    term_id もしくは post_idを指定します。(初期値は0)
  • $obj_type
    taxonomy名 もしくは post名を指定します。(初期値は空文字)
  • $resource_type
    taxonomy もしくは post_type を指定します。(初期値は空文字)
« [JQuery]サイドバーを追従させる[JavaScript]下からのスクロール量を取ってくる »

Sponsored Link

コメントする

記事の感想や修正依頼等ありましたら、コメントをお願いいたします