サムネイルで投稿リストを取得するプラグインで利用可能な短いコードそれとも他にどのようにこの特定のプラグインのためのショートコードを作成するには?事前にuありがとうございます。
これをショートコードにしてこのコードをテーマのfunctions.phpファイルに貼り付けると、ちょっとした亀裂が生じます。
add_shortcode('gplt','getPostListThumbs_shortcode');
function getPostListThumbs_shortcode($atts, $content = null){
extract(shortcode_atts(array(
'orient' => 'v',
'imgo' => false,
'ttgo' => false,
'dtgo' => false,
'dtfrm' => 1,
'categ' => '',
'postnr' => 20,
'linn' => 3,
'tbwid' => 40,
'tbhig' => 40
), $atts));
$orient = gtpartrat($orient,'v');
$imgo = gtpartrat($imgo,false);
$ttgo = gtpartrat($ttgo,false);
$dtgo = gtpartrat($dtgo,false);
$dtfrm = gtpartrat($dtfrm,1);
$categ = gtpartrat($categ,'');
$postnr = gtpartrat($postnr,20);
$linn = gtpartrat($linn,3);
$tbwid = gtpartrat($tbwid,40);
$tbhig = gtpartrat($tbhig,40);
$htmlcod = "<table id='div_postlist' width='".$divwid."' cellpadding='4' cellspacing='4'>"."\n";
$htmlcod .= "<tr>"."\n";
//
if (have_posts()) :
global $post;
if($categ!=''){
$strquery = "numberposts=".$postnr."&category_name=". $categ;
}
else{
$strquery = "numberposts=".$postnr;
}
$myposts=get_posts($strquery);
$ctxtr = 0;
switch($dtfrm){
case 1:
$dtdis = 'd/m/y';
break;
case 2:
$dtdis = 'm/d/y';
break;
}
if($myposts):
foreach($myposts as $post) :
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_status' => null,
'post_parent' => $post->ID
);
$attachments = get_posts($args);
$imgsrc = "";
if ($attachments):
foreach ($attachments as $attachment) {
$imgsrc = wp_get_attachment_image($attachment->ID, array($tbwid,$tbhig), $icon = false);
break;
}
endif;
if($orient=="v"){
if($ctxtr == 0){
$htmlcod .= "<tr>"."\n";
}
$ctxtr = $ctxtr + 1;
$htmlcod .= "<td valign='top'>"."\n";
if($imgsrc!=""):
$htmlcod .= "<a href='". get_permalink() ."' title='". get_the_title() ."'>"."\n";
$htmlcod .= $imgsrc;
$htmlcod .= "</a>"."\n";
endif;
$htmlcod .= "</td>"."\n";
if(!$imgo){
$htmlcod .= "<td valign='top'>"."\n";
if($dtgo):
$htmlcod .= "<p>".get_the_time($dtdis)."</p>";
endif;
if($ttgo):
$htmlcod .= "<a href='". get_permalink()."' title='". get_the_title() ."'>";
$htmlcod .= get_the_title();
$htmlcod .= "</a>"."\n";
endif;
$htmlcod .= "</td>"."\n";
}
$htmlcod .= "</tr><tr>"."\n";
}
else{
if($ctxtr == 0){
$htmlcod .= "<tr>"."\n";
}
$ctxtr = $ctxtr + 1;
$htmlcod .= "<td valign='top'>"."\n";
$htmlcod .= "<table cellpadding='3' cellspacing='3' border='0' width='100%'>"."\n";
$htmlcod .= "<tr>"."\n";
$htmlcod .= "<td valign='top'>"."\n";
if($imgsrc!=""):
$htmlcod .= "<a href='". get_permalink() ."' title='". get_the_title() ."'>"."\n";
$htmlcod .= $imgsrc;
$htmlcod .= "</a>"."\n";
$htmlcod .= "</td>"."\n";
endif;
if(!$imgo){
$htmlcod .= "<td valign='top'>"."\n";
if($dtgo):
$htmlcod .= "<p>".get_the_time($dtdis)."</p>";
endif;
if($ttgo):
$htmlcod .= "<a href='". get_permalink()."' title='". get_the_title() ."'>";
$htmlcod .= get_the_title();
$htmlcod .= "</a>"."\n";
endif;
$htmlcod .= "</td>"."\n";
}
$htmlcod .= "</td>"."\n";
$htmlcod .= "</tr>"."\n";
$htmlcod .= "</table>"."\n";
$htmlcod .= "</td>"."\n";
if($ctxtr == $linn){
$htmlcod .= "</tr>"."\n";
$ctxtr = 0;
}
}
endforeach;
else:
$htmlcod = "<tr>"."\n";
$htmlcod = "<td>"."\n";
$htmlcod .= "No registers found."."\n";
$htmlcod .= "</td>"."\n";
$htmlcod .= "</tr>"."\n";
endif;
endif;
$htmlcod .= "</table>";
return $htmlcod;
}
使用法:
投稿やページからショートコード[gplt parametes]
を呼び出すだけです。
パラメータ:
私は サムネイル4.0.0で投稿リストを入手する のための新しいバージョンを開発しました、そして今それはショートコードを使うことが可能です。
//Shortcode for Get Recent Post Thumbnail
add_shortcode('gplt','getPostListThumbs_shortcode');
関数getPostListThumbs_shortcode($ atts、$ content = null){
extract(shortcode_atts(array(
'orient' => 'v',
'imgo' => true,
'ttgo' => true,
'dtgo' => false,
'dtfrm' => 1,
'categ' => '',
'postnr' => 500,
'linn' => 3,
'tbwid' => 175,
'tbhig' => 100
), $atts));
$orient = gtpartrat($orient,'v');
$imgo = gtpartrat($imgo,false);
$ttgo = gtpartrat($ttgo,false);
$dtgo = gtpartrat($dtgo,false);
$dtfrm = gtpartrat($dtfrm,1);
$categ = gtpartrat($categ,'');
$postnr = gtpartrat($postnr,500);
$linn = gtpartrat($linn,3);
$tbwid = gtpartrat($tbwid,175);
$tbhig = gtpartrat($tbhig,100);
$htmlcod = "<table id='div_postlist' width='".$divwid."' cellpadding='4' cellspacing='4'>"."\n";
$htmlcod .= "<tr>"."\n";
//
// if(have_posts()):グローバル$ post;
if($categ!=''){
$strquery = "numberposts=".$postnr."&category_name=". $categ;
}
else{
$strquery = "numberposts=".$postnr;
}
$myposts=get_posts($strquery);
$ctxtr = 0;
switch($dtfrm){
case 1:
$dtdis = 'd/m/y';
break;
case 2:
$dtdis = 'm/d/y';
break;
}
if($myposts):
foreach($myposts as $post) :
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_status' => null,
'post_parent' => $post->ID
);
$attachments = get_posts($args);
$imgsrc = "";
if ($attachments):
foreach ($attachments as $attachment) {
$imgsrc = wp_get_attachment_image($attachment->ID, array($tbwid,$tbhig), $icon = false);
break;
}
endif;
if($orient=="v"){
if($ctxtr == 0){
$htmlcod .= "<tr>"."\n";
}
$ctxtr = $ctxtr + 1;
$htmlcod .= "<td valign='top'>"."\n";
if($imgsrc!=""):
$htmlcod .= "<a href='". get_permalink() ."' title='". get_the_title() ."'>"."\n";
$htmlcod .= $imgsrc;
$htmlcod .= "</a>"."\n";
endif;
$htmlcod .= "</td>"."\n";
if(!$imgo){
$htmlcod .= "<td valign='top'>"."\n";
if($dtgo):
$htmlcod .= "<p>".get_the_time($dtdis)."</p>";
endif;
if($ttgo):
$htmlcod .= "<a href='". get_permalink()."' title='". get_the_title() ."'>";
$htmlcod .= get_the_title();
$htmlcod .= "</a>"."\n";
endif;
$htmlcod .= "</td>"."\n";
}
$htmlcod .= "</tr><tr>"."\n";
}
else{
if($ctxtr == 0){
$htmlcod .= "<tr>"."\n";
}
$ctxtr = $ctxtr + 1;
$htmlcod .= "<td valign='top'>"."\n";
$htmlcod .= "<table cellpadding='3' cellspacing='3' border='0' width='100%'>"."\n";
$htmlcod .= "<tr>"."\n";
$htmlcod .= "<td valign='top'>"."\n";
if($imgsrc!=""):
$htmlcod .= "<a href='". get_permalink() ."' title='". get_the_title() ."'>"."\n";
$htmlcod .= $imgsrc;
$htmlcod .= "</a>"."\n";
$htmlcod .= "</td>"."\n";
endif;
if(!$imgo){
$htmlcod .= "<td valign='top'>"."\n";
if($dtgo):
$htmlcod .= "<p>".get_the_time($dtdis)."</p>";
endif;
if($ttgo):
$htmlcod .= "<a href='". get_permalink()."' title='". get_the_title() ."'>";
$htmlcod .= get_the_title();
$htmlcod .= "</a>"."\n";
endif;
$htmlcod .= "</td>"."\n";
}
$htmlcod .= "</td>"."\n";
$htmlcod .= "</tr>"."\n";
$htmlcod .= "</table>"."\n";
$htmlcod .= "</td>"."\n";
if($ctxtr == $linn){
$htmlcod .= "</tr>"."\n";
$ctxtr = 0;
}
}
endforeach;
else:
$htmlcod = "<tr>"."\n";
$htmlcod = "<td>"."\n";
$htmlcod .= "No registers found."."\n";
$htmlcod .= "</td>"."\n";
$htmlcod .= "</tr>"."\n";
endif;
// endif;
$htmlcod .= "</table>";
return $htmlcod;
'if(have_posts()):'コメント行を作成する必要があります。 1.//if(have_posts()):2. // endif;今ではうまく機能しています。Hurrahhhh.ThanksBainternet :)