ショートコードの記述方法について
-
お世話になっております。
ただいま固定ページの記事本文内に新着情報のリストを作っているのですが
初めてショートコードを用いているため、
構文構造?(単純にhtmlレベルなのかも知れませんが)が誤っており、
うまく出力されません。ショートコードを記述し、
<dl>
<dt></dt>
<dd></dd>
</dl>このコードを複数回出力しようとしています。
□実現したい状態
<dl>
<dt></dt>
<dd></dd>
</dl>
<dl>
<dt></dt>
<dd></dd>
</dl>
<dl>
<dt></dt>
<dd></dd>
</dl>このような出力をしたいのですがうまく行きません。
□発生している問題
以下のように記述したところ、
出力された新着情報リストでは<dt></dt>
<dd></dd>が複数回出力されてしまい、
<dl>
<dt></dt>
<dd></dd>
<dt></dt>
<dd></dd>
<dt></dt>
<dd></dd>
</dl>となってしまいました。
□ソースコード
function sc_catlist($atts, $content = null) {
extract(shortcode_atts(array(
“num” => ‘5’,
“slg” => ”
), $atts));
global $post;
$cats = get_category_by_slug($slg);
$cat = $cats->term_id;
$myposts = get_posts(‘numberposts=’.$num.’&order=DESC&orderby=post_date&category=’.$cat);
$retour = ‘<dl>’;
foreach($myposts as $post) :
setup_postdata($post);
$retour.='<dt>’.get_post_time(‘Y/m/d’).'</dt>’;
$retour.='<dd><a href=”‘.get_permalink().'”>’.the_title(“”,””,false).'</dd>’;
endforeach;
$retour.='</dl> ‘;
wp_reset_query();
return $retour;
}
add_shortcode(“catlist”, “sc_catlist”);□備考
以下のように修正しましたが
このように書き換えると
一番古い投稿が1記事出力されるだけでした。$retour = ‘<dl>’;
foreach($myposts as $post) :
setup_postdata($post);
$retour.='<dt>’.get_post_time(‘Y/m/d’).'</dt>’;
$retour.='<dd><a href=”‘.get_permalink().'”>’.the_title(“”,””,false).'</dd>’;
endforeach;
$retour.='</dl> ‘;を以下のように修正。
foreach($myposts as $post) :
setup_postdata($post);
$retour = ‘<dl>’;
$retour.='<dt>’.get_post_time(‘Y/m/d’).'</dt>’;
$retour.='<dd><a href=”‘.get_permalink().'”>’.the_title(“”,””,false).'</dd>’;
$retour.='</dl> ‘;
endforeach;どなたかご教示いただければ幸いです。
- トピック「ショートコードの記述方法について」には新たに返信することはできません。