実は色々なことができるようになっている?WP Queryのカテゴリーとタグの取得をまとめてみた。
サイトやブログ、またはなにかアプリ的なものを作ろうとしたとき、そこにフィードや一覧ページを作りたい。そういったことってありませんか?よく、動的なペ...
自分のオリジナルなテーマテンプレートを作ってみたい!
とWordPressサイトを作っていると出てくるのではないでしょうか。
そして、codexなどのサイトを色々見て挫折し、そこで諦めてしまうことってありませんか?
今回は、作成時に知っておくと便利な「豆知識」をご紹介していきましょう。
先日解説を行ったwp-queryが最も多く使われる「一覧部分」
こちらから参考をどうぞ。
関連記事
で、タイトルやidを取得したり出力したりする事があると思います。そんなとき今いる場所がどこになっているのか?と言うのがわかっていれば、下記の方法で取得・出力ができるようになります。
WordPressで使うカテゴリー。この記事一覧にいる場合。下記の方法でカテゴリー名とidを取得することができます。
<?php single_cat_title(); ?>
タイトルを出力方法としてこちらが難しくなく出力することができる方法かと思います。あとは<h1>タグや<h2>タグを使って囲えば、記事一覧時に「今このカテゴリーの記事一覧にいますよ」ということをユーザー側に伝えることができます。
<?php $cat_title = single_cat_title( '' , false ); ?>
<?php $category = get_category($cat); echo $category->description; ?>
カテゴリーの説明という項目があると思います。そこに入力した文言の出力を行う場合には上記の方法で出力ができるようになります。
<?php $cat_id = $cat; ?>
カテゴリーに関する記事一覧時にはこの$catという変数に自動的に今いるカテゴリーidが入ってくるようWordPressが自動的に行なってくれているのです。
私が記事一覧時にidを元に複雑な記事一覧作成をするときによくこの$catを使ったりしています。これを知っているのと知っていないのとでは作業の効率が3倍位変わってきます。
<?php $category = get_category($cat); echo $category->slug; ?>
私は主にURLにスラッグを使うようにしているのですが、一覧時に、「カテゴリー名(日本語)/カテゴリー名(英語)」みたいな形で使う場合に、こういった方法で出力ができるようになります。
上記のコードを<p>タグなどで囲っていけば、今いる「カテゴリーの英文字タイトル?」的なものを出力することができるようになります。
<?php $category = get_category($cat); echo $category->category_description; ?>
カテゴリーの記事一覧時で、該当する記事が何件あるかをユーザーに伝える場合に使う方法です。
WordPressでカテゴリーの次に使用されるタグ記事一覧。カテゴリーとは違い、こういった形でそれぞれ出力や取得ができるようになっています。
<?php single_tag_title(); ?>
タイトルを出力方法としてこちらが難しくなく出力することができる方法かと思います。あとは<h1>タグや<h2>タグを使って囲えば、記事一覧時に「今このタグに関する記事一覧にいますよ」ということをユーザー側に伝えることができます。
<?php $cat_title = single_tag_title( '' , false ); ?>
<?php $tagdata = get_tag($tag_id); echo $ tagdata->description; ?>
カテゴリーと同様タグにも説明という項目があると思います。そこに入力した文言の出力を行う場合には上記の方法で出力ができるようになります。
<?php $cat_id = $tag_id; ?>
一覧時にはこの$tag_idという変数に自動的に「今いるタグ記事一覧時」に「今いるタグのid」が入ってくるようWordPressが自動的に行なってくれているのです。
<?php $tagdata = get_tag($cat); echo $tagdata->slug; ?>
私は主にURLにスラッグを使うようにしているのですが、一覧時に、「タグ名(日本語)/タグ名(英語)」みたいな形で使う場合に、こういった方法で出力ができるようになります。
上記のコードを<p>タグなどで囲っていけば「今いるタグの英文字タイトル?」的なものを出力することができるようになります。
<?php $tagdata = get_tag($cat); echo $tagdata->count; ?>
タグの一覧時で、該当する記事が何件あるかをユーザーに伝える場合に使う方法です。
WordPressには作者専用の記事一覧ができるようになっています。その作者記事記事一覧時には下記に方法でそれぞれ取得や出力が行えるようになります。
<?php $user_id = $author; ?>
一覧時にはこの$tag_idという変数に自動的に今いる作者記事一覧時に今いるタグのidが入ってくるようWordPressが自動的に行なってくれているのです。
<?php the_author_meta('display_name', $author); ?>
タイトルを出力方法としてこちらが難しくなく出力することができる方法かと思います。あとは<h1>タグや<h2>タグを使って囲えば、作者記事一覧時に「この作者に関する記事一覧にいますよ」ということをユーザー側に伝えることができます。
<?php the_author_meta('description', $author); ?>
カテゴリーと同様作者名には説明ではなく、プロフィールという項目があると思います。そこに入力した文言の出力を行う場合には上記の方法で出力ができるようになります。
<?php echo get_the_author_meta('user_email', $author); ?>
作者登録時に登録したメールアドレスを出力する際には上記の方法で出力ができるようになっています。
<?php echo count_user_posts($author); ?>
作者の記事一覧時で、該当する記事が何件あるかをユーザーに伝える場合に使う方法です。
と上記でWordPressが用意してくれている入力欄をカテゴリー・タグ・作者記事一覧で出力する方法を解説していきましたが、実際のところこの他に「カテゴリーに関する入力欄を増やしてそれを出力したい!」ということが出てくると思います。
そこで今回紹介するのが、MarcatGiaというWordPressをカスタマイズするシステムです。
このMarcatGiaにはいろいろな機能があるのですが、この中に
「カテゴリーの入力欄を増やすという機能」
があります。こちらも今回合わせてご紹介していきましょう。
MarcatGiaのカテゴリー入力拡張機能を使用することで、カテゴリーに関する「テキスト」「画像」を組み込むことができるようになります。
こちらがMarcatGiaのカテゴリー入力拡張機能の仕様前と使用後になります。
項目に画像やテキストが追加されているかと思います。
また、こちらでは使用してはいませんが、テキストエリア(長めの文章)にはWordPressと記事と同様のエディターを備えており、カテゴリー記事一覧時に指定した個所を更新できるようなシステムになっています。
このMarcatGiaにご興味を抱いた方はぜひお問合せを。
MW WP FORMとは?MW WP Form — WordPress PluginsMW WP Formは、WordPressを使用したサイトでお問い合わせフォームや応募フォームなどの「フォーム」を簡単に...
PCでWEBサイトを閲覧していると、洗練されたおしゃれなサイトに出会うことがあります。 けれどそのサイト、実はInternet Explorerでは見ることができないサイ...
次世代の Google アナリティクス(Google アナリティクス 4 プロパティ)が2020年10月15日から正式にリリースされたので、実際にサイトに入れてみました。Goo...