You are here: Home » php » wordpress公式TwentySixteenのimage.phpの説明

wordpress公式TwentySixteenのimage.phpの説明

thunderstorm

Wordperssの公式テーマTwenty Sixteenのimage.phpがどう動いてるかの記事です。

phpとwordpressのテンプレートタグについてです。

 

いつも通り get_header(); でheader.phpを呼び出してます。

 

次にに投稿関係(この場合画像関係)の記述です。

 

 

で投稿があるかどうかを調べて、出力するものがあれば、一つずつ出力してます。

 

 

<?php the_ID(); ?> この記述で投稿のIDを取得してます。

 

<?php post_class(); ?>> この記述はテーマをカスタマイズしやすいように自動で、classやidを取得してくれる関数です。

こんな感じでclassやidを取得してくれます。

 

しかし、最後にあるhentryというクラスがコンソール(webマスターツール)でエラーを起こすことがあるので、この記述は公式テーマには大体記述されてるので、実際Twenty Sixteenなどの公式テーマを使う場合、

これを

に変更する。

または、functions.phpの最後に以下の記述をする

これで、hentryクラスは出力されません。でもimaege.phpならそんなに気にしなくてよいかもしれません。

 

previous_image_link(); は添付された画像のリンクを表示します。第一引数にfalseを渡していると、その画像の名前がリンクになり、第二引数に好きな文字を指定することができます。

 

つまり、この状態なら、画像の名前がそのままリンクででます。

この状態なら、Previous Imageが翻訳されて、前の画像 というリンクになります。

も同じ要領

 

次にタイトルです。

the_title(); で投稿にタイトルを出力または返してます。

classのentry-titleはコンソールのエラーをなくす為の記述でもあります。

 

スポンサーリンク

$image_size = apply_filters( ‘twentysixteen_attachment_size’, ‘large’ );

この記述のtwentysixteen_attachment_sizeは特に機能してないようです。なぜこの記述がしてあるかは、自分で関数を作る時用に前もって記述してあるようです。だから、apply_filters が記述されて、add_filterで関数を勝手に作って使ってねということです。

 

ではなぜ画像が表示されるかは、添付ファイルが存在する場合は、表示する関数 wp_get_attachment_image が添付ファイルがある場合、imgタグを表示しているからです。

 

これは抜粋を表示する独自の関数で、inc/template-tags.phpの146行目あたりで定義されてます。

 

 

次にメディアに記事を書いた場合に働く記述と、the_content();が働きます。

しかし、wp_link_pagesの記述の意味がよくわからん、メディアファイルのページに複数ページ用のリンクって必要かな?

一応 <!–nextpage–> を記述することで、一つのページに複数のページのリンクを出力することができます。

 

 

 

 

この記述でメタ情報を追加してます。

inc/template-tags.phpで定義されてます。

 

wp_get_attachment_metadata() は添付ファイルのメタ情報を取得する関数です。それを、分岐してます。

 

edit_post_link'(); はユーザーがその記事を編集する権限がある場合は、編集 というリンクを出力します。正直なくてもよい記述。

スポンサーリンク

comments_open() で投稿のコメントが許可されているかチェック、get comments number でコメントのトラックバック、ピンバックを取得します。それが条件分岐 || があるので又はの意味になります。

どちらかがtrueなら、comments_template(); が働くので、デフォルトの場合はcomments.phpが出力されます。そのあとthe_post_navigation(); でページャーが出力されます。コメントが複数あれば。

 

最後のsaidebarとfooterを出力しておわりです。

スポンサーリンク

コメントを残す