wordpressについて
今回の案件でwordpressについて、勉強できた事をまとめて書きたいと思います。
wordpressの関数について
the_permalink()
: 記事のurlを取得する。
the_title()
: 記事のタイトルを取得する。
the_content()
: 記事の内容を取得する。
the_title_attribute()
: 記事投稿、タイトル部分にHTMLタグを含んでいる場合、
それを除いて表示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php query_posts('cat=1&posts_per_page=5'); ?> //cat=1 は表示したいカテゴリの番号を記述する //posts_per_page = 5 は表示したい記事の数を指定する <?php if(have_posts()): while(have_posts()): the_post(); ?> <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3> <p><?php echo the_field('_msg'); ?></p> //the_field('_msg') はカステムフィールド名の_msgの内容を取得する <?php the_content(); ?> //the_content() は記事の内容を取得する <?php endwhile; endif; ?> |
月別に記事を表示するセレクトボクス
1 2 3 4 5 6 7 | <select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;"> <option value=""> <?php echo esc_attr( __( 'Select Month' ) ); ?> </option> <?php wp_get_archives( array( 'type' => 'monthly', 'format' => 'option', 'show_post_count' => 1 ) ); ?> //年別に表示したい場合は (type = monthly)の代わりに(type = yearly)を書きます。 </select> |
ページによってテンプレートを分けて使いたい場合
※カテゴリIDで分別する
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $post = $wp_query->post; if ( in_category('1') ) { include(TEMPLATEPATH . '/category-list1.php'); //カテゴリIDが1の場合、category-list1.phpのテンプレートを利用する } else if( in_category('2') ) { include(TEMPLATEPATH . '/category-list2.php'); } else if( in_category('3') || in_category('4') ) { include(TEMPLATEPATH . '/category-list3_4.php'); }else { include(TEMPLATEPATH . '/category_list.php'); } ?> |
プラグインの紹介
WP-PageNavi
ページング機能が実装できます。
- 管理画面[プラグイン]>[新規追加]から【プラグインのインストール】画面を開く
- キーワードに「WP-PageNavi」 と入力し、検索
- 【いますぐインストール】をクリック
- 【プラグインを有効化】をクリック
WP-PageNavi をインストール・有効化すると、管理画面の左メニュー(メインナビゲーション)の[設定]に[PageNavi]が追加されます。
ページナビゲーションを表示させたいところに以下のコードを挿入します。
1 | <?php if(function_exists(‘wp_pagenavi’)) { wp_pagenavi(); } ?> |
ページング機能がちゃんと動く為に、以下のところに「paged=.$paged」を追加します。
1 | <?php query_posts('cat=53&posts_per_page=5'); ?> |
追加後⬇
1 | <?php query_posts('cat=53&posts_per_page=5&paged='.$paged); ?> |
それで、ページング実装が完成します。
Advanced Custom Fields
カスタムフィールドをグルプ化して共通化できます。
Advanced Custom Fieldsをwp_pagenaviのようにインストールして有効化します。
有効化すると左側のメニュー一覧に「カスタムフィールド」というメニューが表示されます。
「カステムフィールド」メニューに入って、グループ化したいカスタムフィールドを作成します。
テンプレート側でカスタムフィールドを取得したい場合の記述方法
・記述方法は「the_field()」と「get_field()」の二つあります。
-
値の内容を表示したいときは、the_field()を使います。
the_field(‘カスタムフィールド名’);
例: the_field(‘msg’);
これで、現在表示している投稿の「msg」というキーの値を表示できます。
※if文や変数などで使用する場合はget_field()を使用します。 - $hoge = get_field(‘カスタムフィールド名’);
入力されているか否かのチェックはget_field()で行います。 - ・第二引数で投稿やページを指定することも可能
the_field(‘カスタムフィールド名’, 100);
これで投稿IDが100の投稿(もしくはページ)の「カスタムフィールド名」を表示出来ます。
Author Profile
スターフィールド編集部
SHARE