【初心者向け】WordPressの小技メモ
2019.02.28
ども、六崎です。
2月19日(火)の朝、「みゆくん誕生日おめでとう」と心の中で入野自由くんの31歳バースデーを祝いながら、メールボックスを見ていたら気になるタイトルを発見。
(タイトルなんだっけと、メールボックスを開いた12時過ぎ…みゆくんのツアー案内のファンメが届いて動揺が止まらない。サイトのみゆくん写真に「…尊い」と呟く昼休み(*´ェ`*)
はてなブログへの移行に関するお知らせ
実は私、はてなダイアリーで6年ほど前から「WordPressのメモ」として、個人的につまずいた所を書き溜めていました。
6年間で30記事程度しか書いていませんが、18万PVを叩き出してるからこれまたビックリ!
個人的なメモを参考にしてくれた人がこんなにいたなんて…。
というか、私「はてなブログ」で書いてたつもりだったのですが…なぜ、「はてなダイアリー」だったのだろう…と思い、調べた所「はてなブログ」が正式リリースされる20日前からスタートだったから「はてなダイアリー」にしていたらしい(6年前の記憶がないw
なので、随分前からはてなブログに移行してね!ってお知らせが来ていたのですが、今更になって「さて、どうしよう」と考え始めた次第。
移行も考えたけど、もう書く事はないし…ということで、はてなダイアリーは削除し、代わりにメモとして書き留めていた内容をここにまとめようかな、と思います!(ただし、内容が古い物もあるので厳選してますよー٩(ˊᗜˋ*)و
ちなみに、はてなダイアリーは本日(2019年2月28日)をもって全機能停止だそうです。
今までありがとう、はてなダイアリー。
使える!WordPressの小技メモ
- 固定ページのスラッグ取得
- 投稿が無い場合は、テキストを表示する
- 投稿の本文が無ければ、タイトルにリンクを貼らない
- アイキャッチ画像を追加する
- カスタムフィールドテンプレートの出力
- カテゴリ一覧を表示する
- ページタイトルを「親ページタイトル」+「子ページタイトル」にする
- オリジナルテーマでパーマリンクを変更したら404になった!
固定ページのスラッグ取得
【使用例】
固定ページのヘッダーイメージや、各ページの共通イメージ等にclassとしてslug-image…みたいな感じにしたい。
1 2 3 | <div class="<?php echo $post->post_name; ?>-image"> //imgとか </div> |
投稿が無い場合は、テキストを表示する
【使用例】
ブログで様々なカテゴリを作ったはいいが、投稿されていないカテゴリページは真っ白でイヤ!
…いや、未投稿カテゴリは隠しときゃいいのでは?と書きながら思ったが、誰か使うかもしれないし。
1 2 3 4 5 6 7 | <?php if(have_posts()):?> <?php while(have_posts()): the_post(); ?> //記事がある場合 <?php endwhile; ?> <?php else: ?> //記事がない場合 <?php endif; ?> |
投稿の本文が無ければ、タイトルにリンクを貼らない
【使用例】
Newsや新着情報で、詳細を書きたいコンテンツもあるけど…長期休暇の休み連絡はタイトルだけでいい
1 2 3 4 5 6 | <?php if(have_posts()): while(have_posts()): the_post(); ?> <?php if(empty($post->post_content)): ?> <?php the_title(); ?> <?php else: ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <?php endif; endwhile; endif; ?> |
アイキャッチ画像を追加する
functions.php
1 | <?php add_theme_support('post-thumbnails'); ?> |
カスタムフィールドテンプレートの出力
【使用例】
Newsや新着情報で、タイトルに外部リンク、もしくはサイト内リンクを貼るときがある
まず、カスタムフィールドを作るところからですが…
functions.phpをいじれる方は、こんな感じでいけると思います。
functions.phpをいじりたくないよーって方は、プラグイン「Custom Field Template」を使うと簡単に作成できます。
※Custome Field Templateの使い方は後ほど説明します(*´▽`)ノノ
1 2 3 4 5 | <?php if(post_custom('外部リンク')):?> <a href=“<?php echo post_custom('外部リンク'); ?>” target=“_blank”> <?php else: ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <?php endif; ?> |
こんな感じで条件分岐してあげると、外部リンクがあるときとサイト内リンクのときとで分けられます。
カテゴリ一覧を表示する
【使用例】
Blogのサイドバーにカテゴリ一覧を表示する
1 | <?php wp_list_categories(); ?> |
この場合だと、リンク有りのカテゴリ一覧が表示されます。
1 | <?php wp_list_categories('show_count=1&title_li='); ?> |
次に、一番上の「カテゴリ」を消して、それぞれの投稿件数を表示したい場合はこうなります。
詳細はWordPress Codexへ。
ページタイトルを「親ページタイトル」+「子ページタイトル」にする
【使用例】
子ページのタイトルを「子ページタイトル(親ページタイトル)」にしたい
functions.php
1 2 3 4 5 6 7 8 9 10 11 | <?php function is_subpage() { global $post; if ( is_page() && $post->post_parent ){ $parentID = $post->post_parent; return $parentID; } else { return false; }; }; ?> |
page-child.php
1 2 3 4 5 6 7 8 | <h1> <?php if (is_subpage()): ?> <?php the_title(); ?> <?php endif ; ?> <?php if ( get_the_title($post->post_parent) ) : ?> (<?php echo get_the_title($post->post_parent); ?>) <?php endif ; ?> </h1> |
なぜ、functions.phpでちょちょっと書いたかというと、子ページか否か判別をデフォでできないためです。
ま、魔法の呪文。
オリジナルテーマでパーマリンクを変更したら404になった!
ホントに私…昔からエラー出しまくってテンパってたんだな、と回顧。
まず、ルートディレクトリ(wp-config.php等がある階層)に.htaccessファイルがあることを確認してください。
無ければ、隠れているか存在していないか…ということになります。
.htaccessありましたか?
…え?ない?しゃーないなー(何様?笑
.htaccessファイルを作成します。(Let’s go コピペ!
.htaccess
1 2 3 4 5 6 7 8 9 10 | # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress |
はい、作成できましたね。
最後にパーミッションを確認してください。
644(re-r–r–)になってればOKです。
違っていれば、変更してください。
※WordPress Cordexの推奨は644ですが、状況に合わせて755等にしてください。
これで、404は消えると思いますが、消えなければもう一度パーマリンクの設定から変更してみてください。
よし、個人的には移行完了な気持ちなうです(笑)
そして、今回記事を書き始める前にダイアリー全体を見たのですが、「あぁ、私ここで詰んでたのかー」って懐かしい気持ちになりました。
もっと精進していきます!\\(۶•̀ᴗ•́)۶////
ではっ!
↓↓↓ぜひチェックしてください
~提供中のヒューマンセンシング技術~
◆人物検出技術
歩行者・来店者数計測やロボット搭載も
https://humandetect.pas-ta.io
◆視線検出技術
アイトラッキングや次世代UIに
https://eyetrack.pas-ta.io
◆生体判定技術
eKYC・顔認証のなりすまし対策を!
https://bio-check.pas-ta.io
◆目検出技術
あらゆる目周りデータを高精度に取得
https://pupil.pas-ta.io
◆音声感情認識技術
会話から怒りや喜びの感情を判定
https://feeling.pas-ta.io
◆虹彩認証技術
目の虹彩を利用した生体認証技術
https://iris.pas-ta.io