web-dev-qa-db-ja.com

サムネイルプラグインで投稿リストを取得するのに利用可能な任意の短いコード?

サムネイルで投稿リストを取得するプラグインで利用可能な短いコードそれとも他にどのようにこの特定のプラグインのためのショートコードを作成するには?事前にuありがとうございます。

1
Ramkumar M

これをショートコードにしてこのコードをテーマの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]を呼び出すだけです。

パラメータ:

  • 方向:orient = "v"// v =垂直方向、h =水平方向のデフォルト 'v'
  • 画像のみを表示:imgo = "false"// true、falseデフォルト 'false'
  • 投稿のタイトルを表示:ttgo = "false"// true、falseデフォルト 'false'
  • 投稿日を表示:dtgo = "false"// true、falseデフォルト 'false'
  • 日付フォーマット:dtfrm = "1"// 1 - d/m/y、2 - m/d/yのデフォルト '1'
  • カテゴリ名:categories = ''//すべてのカテゴリの既定値を省略するか空白にする ''
  • 投稿数:postnr = "20"//デフォルト= 20
  • 1行あたりのレジスタ数:linn = "3"//水平方向のみデフォルト= 3
  • サムネイルの幅:tbwid = "40"//デフォルト= 40
  • サムネイルの高さ:tbhig = "40"//デフォルト= 40
1
Bainternet

私は サムネイル4.0.0で投稿リストを入手する のための新しいバージョンを開発しました、そして今それはショートコードを使うことが可能です。

1
Alvaro Neto
    //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 :)

0
Ramkumar M