未分類

固定ページに、その子ページの最新記事のリンクを自動的に入れていく方法を学び、なんとかやってます

更新日:

今晩は!lyustyleです。

まだまだGoogleにはじかれつづけていますが、他にも同じような経験をされた方がたくさんおられて、30日とか90日とかの範囲でぐっと我慢をされていたとのことでしたので、とにかく焦らず、この機会に少しでもよいコンテンツ作りをしておこうと思ってます。

 

昨日、固定ページについての考え方をまとめたのですが、あれでいいですかね?

とにかくようやく今頃固定ページの意味や必要性がわかってきたわけですので、過去にエントリーした投稿記事から少しずつ固定ページ化していくつもりです。

グローバルメニューをみていただくと、毎日少しずつコンテンツが増えていっていることがお分かりになれると思います。

できればFeedに登録して、毎日の変化をお楽しみください(^^)

 

固定ページに、その子ページの最新記事を自動的に入れていく

今、固定ページのレイアウトにとりくんでいますが、大見出しの下に、いくつかの記事が「子ページ」としてリストに並んでいます。

下の図でいえば、大見出し「ガジェット教師!」にマウスオーバーすると、下に 矢野徹さんの「ウィーザーどりぃ日記」云々というリストや、リレーショナルデータベース云々というリストがならんでいます。

 

menu

つまり、固定ページに親子関係をつくったわけで、これにより、カテゴリーのように仲間分けをしています。

 

ところが、困ることがあります。

それは、カテゴリーのラベル代わりにつくった親ページに、いったい何を書いたらいいんだということです。

つまり この場合でいえば「ガジェット教師!」というラベルがわりの固定ページそのものには何を書いたらいいのか、ということです。

 

できれば、その子ページの見出しがずらっとならんでいるといいのですが・・・。

 

最初は、手作業で固定ページのリンクを貼っていましたが、

天下のWordpressです。

そんな手作業でなく、子ページを作ったら自動的にリストにつけくわわっていくようなスマートなやりかたがあるはずです。

でもそんなやりかたを可能にするならば、当然PHPなどのコードを書かないといけません。

そうはいっても、普通の記事にPHPのコードを書いてもWordpressにより消されてしまいますし。

 

・・・では、どうするか。やはり手作業?

いやいや、やっぱり自動的に新しい記事のタイトルとそのリンクがつけくわわっていくようなコードを固定ページにつけることができるのです。

その秘密は・・

 

ショートコードです。

 

WordPressの固定ページでPHPのコードを実行させる「ショートコード」

ためしに、ブログ上部に横たわっている「グローバルメニュー」から「手帳・メモの方法」というラベルをクリックしてみてください。

ひらいたページは次のようになっていますね。

link

 

メニューが3つ示されています。

これは、この「手帳・メモの方法」という固定ページを親とする子ページが今3つあることを示しています。

グローバルメニューの「手帳・メモの方法」タブにマウス・オーバーしてみてください。たしかに3つの記事があることがわかると思います。

そして、ここにあるメニューは私が手作業で書いたものではなく、PHPコードにより自動的に挿入されているものです。

 

いったいどうしたらこういうことができるのでしょうか。

プラグインでもつかったのかな?

 

いやいや、

実は、ここに書いてあるのは

shortchord

 

この[subpage_peek]

という言葉だけなんです。

これを書くだけで、先ほどのようなメニューが示されるんです。

追記。

上に「ありません」とでているでしょ?

実際は、僕はここに subpage_peek というコードを書いているのですが、両横に [ ] をつけて書いていたので、Wordpressが「お!ショートコードだ!実行しなくちゃ!」と判断して実行しようとしたんです。でも、この記事は固定ページではなく、したがって子ページなどというものが存在しないので「ありません」という値を返したのです。

面白いですね。

これがショートコードです。

ふつうにブログの投稿記事でも使えるんですね。

 

このすごい言葉!

なんでこのセンテンスにそんな力があるのでしょうか。

実は、この小さなセンテンスは「ショートコード」と呼ばれ、function.php(テーマのための関数)ファイルの中に書き込まれた関数を読み込んで実行する力があるのです。

function.phpには、あらかじめこのショートコードで読み出すための

「subpage_peek 」という名前の関数を書き込んでおきます。

実際には次のようなコードを書き込んで、「subpage_peek」とう関数を定義しました。

 

//---------------------------------------------------------------------------
// 子ページのリンクを抜粋表示するショートコード
//---------------------------------------------------------------------------
function subpage_peek() {
global $post;
$args = array(
'post_parent' => $post->ID,
'post_type' => 'page'
);
$subpages = new WP_query($args);
if ($subpages->have_posts()) :
$output = '<ul>';
while ($subpages->have_posts()) : $subpages->the_post();
$output .= '<li><strong><a href="'.get_permalink().'">'.get_the_title().'</a></strong>

~筆者註 : 一部略 下記サイトで参照してください~

else :
$output = '<p>ありません</p>';
endif;

wp_reset_postdata();
return $output;
}
add_shortcode('subpage_peek', 'subpage_peek');
?>

青色の部分で「subpage_peek」という関数を新たに定義して、その下にどのように実行させるかというコードを書いています。

このコードは当然私がつくったのではありません(きっぱり!)

下記のサイトに書かれているコードを使わせていただきました。

 

[WordPress] 固定ページで子ページのリンクやタイトル、抜粋を一覧表示させるショートコード - かちびと.net

なんとも感動的です。

このような貴重な情報をいただいてとても感謝しています。

おかげさまで、私も、自分のサイトの固定ページで、小ページのリンクやタイトル、抜粋を一覧表示させることができました。

 

PHPを直接書くとWordpressが消しちゃうので、ショートコードを書いてそこから実際の処理を行うコードを引っ張ってくる。

そのようなことができるんですね。Wordpressは。

これで今後私もこのサイトのカスタマイズに拍車がかかりそうです。

まとめ

ショートコードをfunction.phpに定義して書き込んでおけば、固定ページにショートコードを書くだけで、処理を実行することができる!

 

ではまた!

 

 







メルマガ「知的迷走通信」

登録

「知的ジタバタ日記」「あなたの背中をおすトピック」「Lyustyleの目からウロコ」など,週3~4回,朝7時に発信します。
皆さんと一緒に楽しく成長できたらと思っています。

lyustyle
無料です。解除も自由です。下のリンクよりご登録ください。Lyustyleの設置した安全なページです。


登録するとすぐに第1回目のメールが届き,その後,3回ベーシックコンテンツが届きます。

Lyustyleメルマガ「知的迷走通信」

Lyustyleの本

kindleで読める電子書籍を書いています。2017年6月現在2冊の本を出しています。


 


現在,教育ちゃんねるで連載している記事から,3冊目の本を出版予定です。


 



よろしければ、購読の登録をしていただければ幸いです。


follow us in feedly

にほんブログ村 PC家電ブログ デジモノ・ガジェットへ

にほんブログ村


-未分類
-, ,

Copyright© 知的生活ネットワーク , 2017 All Rights Reserved.