【初心者向け】WordPressの小技メモ

2019.02.28

WordPress

 

 

ども、六崎です。

 

2月19日(火)の朝、「みゆくん誕生日おめでとう」と心の中で入野自由くんの31歳バースデーを祝いながら、メールボックスを見ていたら気になるタイトルを発見。
(タイトルなんだっけと、メールボックスを開いた12時過ぎ…みゆくんのツアー案内のファンメが届いて動揺が止まらない。サイトのみゆくん写真に「…尊い」と呟く昼休み(*´ェ`*)

 

 

はてなブログへの移行に関するお知らせ

 

 

実は私、はてなダイアリーで6年ほど前から「WordPressのメモ」として、個人的につまずいた所を書き溜めていました。
6年間で30記事程度しか書いていませんが、18万PVを叩き出してるからこれまたビックリ!
個人的なメモを参考にしてくれた人がこんなにいたなんて…。

 

というか、私「はてなブログ」で書いてたつもりだったのですが…なぜ、「はてなダイアリー」だったのだろう…と思い、調べた所「はてなブログ」が正式リリースされる20日前からスタートだったから「はてなダイアリー」にしていたらしい(6年前の記憶がないw

 

 

なので、随分前からはてなブログに移行してね!ってお知らせが来ていたのですが、今更になって「さて、どうしよう」と考え始めた次第。
移行も考えたけど、もう書く事はないし…ということで、はてなダイアリーは削除し、代わりにメモとして書き留めていた内容をここにまとめようかな、と思います!(ただし、内容が古い物もあるので厳選してますよー٩(ˊᗜˋ*)و

 

ちなみに、はてなダイアリーは本日(2019年2月28日)をもって全機能停止だそうです。
今までありがとう、はてなダイアリー。

 

 

 

使える!WordPressの小技メモ

  1. 固定ページのスラッグ取得
  2. 投稿が無い場合は、テキストを表示する
  3. 投稿の本文が無ければ、タイトルにリンクを貼らない
  4. アイキャッチ画像を追加する
  5. カスタムフィールドテンプレートの出力
  6. カテゴリ一覧を表示する
  7. ページタイトルを「親ページタイトル」+「子ページタイトル」にする
  8. オリジナルテーマでパーマリンクを変更したら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ファイルがあることを確認してください。
無ければ、隠れているか存在していないか…ということになります。

 

隠しファイルの表示方法→Win, Mac

 

.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は消えると思いますが、消えなければもう一度パーマリンクの設定から変更してみてください。

 

 

 

よし、個人的には移行完了な気持ちなうです(笑)
そして、今回記事を書き始める前にダイアリー全体を見たのですが、「あぁ、私ここで詰んでたのかー」って懐かしい気持ちになりました。
もっと精進していきます!\\(۶•̀ᴗ•́)۶////

 

 

ではっ!


Top