最近wordpressを少し触りました。そして簡単なブログを立ち上がった。サイトを構築したところ、ショートコードがうまく動かない問題がありました。本章ではショートコードうまく動かないときの対策を公開します。
経緯:固定ページに特定カテゴリ記事を入れる。
例:中華料理の「山東料理」の固定ページに、カテゴリを「山東料理」の記事を固定ページに入れる。
それでは、固定ページで「ショートコード」を呼んで、指定したカテゴリの記事を入れる。
まず、管理画面から、functions.phpに下記のコードを入れる。
ファイル:「外観」→「テーマの編集」に行って、「テーマのための関数 functions.php」
/****************************************************
* 固定ページにカテゴリ記事を入れるためのコード
****************************************************/
// ショートコードで呼び出す関数
function include_category( $atts ) {
extract (
shortcode_atts (
array (
'category' => '1',
'posts_per_page' => '5'
)
, $atts
)
);
//print_r($args);
$blog_posts = get_posts ( array (
'posts_per_page' => $posts_per_page,
'category' => $category
));
$html = Create_Html($blog_posts);
return $html;
}
add_shortcode('categorylist', 'include_category');
// HTMLを生成する関数
function Create_Html ( $blog_posts ) {
$html = '<div>';
foreach ( $blog_posts as $post ) {
$html .= '<p>' . get_post_time('Y.m.d') . '</p>';
$html .= '<p><a href="' . get_permalink($post->ID) . '">' . $post->post_title . '</a></p>';
}
$html .= '</div>';
return $html;
}
次に、管理画面から、「固定ページ」→新規追加 に行ってください。
テキストタブ押して、下記のコードを入れる。
[categorylist category="2" posts_per_page="5"]
注意:必ず
テキストタブで開いてください。「ビジュアル」タブはダメ!!!そうしたら、ショートコードがうまく動かないの原因です。
筆者にもこれを間違ってコードを入れてしまった。画面をいくら調整しても固定ページに予想したカテゴリ記事を表示しませんでした。
絶~対、固定ページでの「テキスト」タブで開いて、ショートコードを入れてください。
最後、固定ページをアクセスしてみて、指定したカテゴリの記事を固定ページで表示するはず。
以上、wordpressカスタマイズのメモでした。
♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。
zanmai @2016年03月31日
» ①②③④の順で設定できるはず。…