人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ワードプレスでコードを教えていただきたいです!
やりたい事
【投稿記事で同じカテゴリーの記事を関連記事として出力する】
ここまではできましたが・・・

<font color="#000000" size="4"><strong>【関連記事】</strong></font>
<ul class="aaa">
<?php
foreach((get_the_category()) as $cat) {
$cat_id = $cat->cat_ID ;
break ;
}
$query = 'cat=' . $cat_id. '&showposts=4';
query_posts($query) ;
?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>


<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>

<?php endwhile; endif; ?>
</ul>
<?php wp_reset_query(); ?>

【↑をfunction.phpに入れてショートコードで実装したいのですが、記述の仕方がわかりません。どなたかコードを教えていただけないでしょうか?】

●質問者: ak
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● sasada
●100ポイント ベストアンサー

ショートコードの作り方です。
http://www.webopixel.net/wordpress/53.html

return文でショートコードで表示したいものを返します。
色々書き方は有りますが、たとえば、

function hogeFunc() {
rtnVal = '';
rtnVal .= '<font color="#000000" size="4"><strong>【関連記事】</strong></font>';
rtnVal .= '<ul class="aaa">';

foreach((get_the_category()) as $cat) {
$cat_id = $cat->cat_ID ;
break ;
}
$query = 'cat=' . $cat_id . '&showposts=4';
query_posts($query) ;

if ( have_posts() ) : while ( have_posts() ) : the_post();

rtnVal .= '<li><a href="' . the_permalink() . '">' . the_title() . '</a></li>';

endwhile; endif;
rtnVal .= '</ul>';
wp_reset_query();

return rtnVal;
}
add_shortcode('hoge', 'hogeFunc');

とでもなるでしょうか。


akさんのコメント
ありがとうございます(*^_^*) 求めていた感じです!!! 早速実装してみます!

2 ● snow0214
●100ポイント

こんな感じでどうでしょうか。
ショートコード名は printRelatedArticle です。

<?php
function Func_printRelatedArticle() {
 $res =<<< EOT
<font color="#000000" size="4"><strong>【関連記事】</strong></font>
<ul class="aaa">

EOT;

 foreach ((get_the_category()) as $cat) {
 $cat_id = $cat->cat_ID ;
 break ;
 }
 $query = 'cat=' . $cat_id. '&showposts=4';
 query_posts($query) ;

 if (have_posts()) {
 while (have_posts()) {
 the_post();
 $link = the_permalink();
 $title= the_title();
 $res .=<<< EOT
<li><a href="{$link}">{$title}</a></li>

EOT;
 }
 }

 $res .= "</ul>\n";
 wp_reset_query();

 return $res;
}

add_shortcode('printRelatedArticle', 'Func_printRelatedArticle');
?>

akさんのコメント
大変詳しくありがとうございます!このような書き方をはじめてみたので大変勉強なりました。ググりながらコードを再度勉強してみます(*^_^*)
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ