web-dev-qa-db-ja.com

「カテゴリの投稿を一覧表示」プラグインのテンプレートを編集する際の問題

WP 3.0.4
ローカルインストール、マルチサイトネットワーク対応
テーマ:20
プラグイン: リストカテゴリー投稿 v。15、ネットワーク有効

私は私のテーマフォルダの中にlist-category-postsというフォルダを作り、その中にdefault.phpを置きました。 default.phpを編集して、同じフォルダー内にlcp_template_1.phpとして保存しました。ただし、変更はまったく表示されていません。 lcp出力のスタイルをデフォルトの<ul>から私のテーマ(子)の<div>で定義されているstyle.cssクラスに変更しようとしています。動作していません。

つまり、プラグインは機能していますが、スタイルの変更は機能していません。

私のテンプレートファイルのコードは http://wordpress.Pastebin.com/EGmrkerQ にあります

助けてください。これはローカルインストールなので、出力を表示するためのURLは申し訳ありません。

ああ、ところで、私は次のように、私は新しいテンプレートを求めてきたショートコードで言及する必要があります:[catlist id=1 template=lcp_template_1]

1
user2760

ちょっとあなたはちょうどWordPress Answersでプラグインのタグを開いた:D

生成されたHTMLのコードを貼り付けることはできますか?あなたが説明したものから、あなたはそれを正しく使っているので、問題がテンプレート側にあるのか、それともプラグインのコードにバグがあるのか​​を検出するためにテンプレートがロードされているかどうかを見たいだけです。

UPDATE:わかりました。新しいWordPressのインストールでテンプレートを確認しました。テンプレートを取得していましたが、コードエラーがいくつかありました。

私はwp-content/themes/twentytenの下にlist-category-postsフォルダーを作成し、あなたのコードで "lcp_template_1.php"と呼ばれる新しいphpファイルを追加しました。それから新しい投稿を作成しました:

[catlist template=lcp_template_1]

今、私はあなたのテンプレートの編集を始めました、私はショーカテゴリーコードを修正しました、そしてそれは現在このコードで働いています:

<?php
/*
Plugin Info & license stuff...
*/
$lcp_output = '';    
//Show category?
    if ($atts['catlink'] == 'yes'){
        $cat_link = get_category_link($lcp_category_id);
        $cat_title = get_cat_name($lcp_category_id);
        $lcp_output = '<div class="topic-heading"><a href="' . $cat_link . '" title="' . $cat_title . '">' . $cat_title . '</a></div>';
    }
$lcp_output .= '<div class="post">';//For default ul

//Posts loop:

foreach($catposts as $single):
    $lcp_output .= '<h2 class="entry-title"><a href="' . get_permalink($single->ID) . '">' . $single->post_title . '</a></h2>';
    //Show comments?
    if($atts['comments'] == yes){
        $lcp_output .= ' (' . $single->comment_count . ')';
    }
    //Style for date:
    if($atts['date']=='yes'){
        $lcp_output .= ' <div class="entry-meta"> ' . get_the_time($atts['dateformat'], $single) . '</div>';
    }
    //Show author?
    if($atts['author']=='yes'){
        $lcp_userdata = get_userdata($single->post_author);
        $lcp_output .=' <div class="entry-meta">' .$lcp_userdata->display_name . '</div>';
    }
    //Show thumbnail?
    if($atts['thumbnail']=='yes'){
        $lcp_output .= '<div class="lcp_thumbnail"><a href="' . get_permalink($single->ID) . '">' . get_the_post_thumbnail($single->ID, array('40','40')) .'</a></div>';
    }

    //Show content?
    if($atts['content']=='yes' && $single->post_content){
        $lcpcontent = apply_filters('the_content', $single->post_content); // added to parse shortcodes
        $lcpcontent = str_replace(']]>', ']]&gt', $lcpcontent); // added to parse shortcodes
        $lcp_output .= '<p>' . $lcpcontent . '</p>'; // line tweaked to output filtered content
    }
    //Show excerpt?
    if($atts['excerpt']=='yes' && !($atts['content']=='yes' && $single->post_content) ){
        $lcp_output .= lcp_excerpt($single);
    }
    endforeach;
$lcp_output .= '</div>';
?>

これがあなたのために働くかどうか私に知らせてください。 show categoryのコードは古くてバグが多いので、デフォルトのテンプレートを更新する必要があります。次のバージョンに向けて行われる予定です。

更新:0.15.1には、宣言されていないlcp_output変数に対する修正が含まれています。また、サムネイルが表示されない場合は、 get_the_post_thumbnailのドキュメント に従ってテーマを変更したことを確認してください。

投稿のサムネイルを有効にするには、現在のテーマにadd_theme_support( 'post-thumbnails')を含める必要があります。 functions.phpファイルにあります。 add_theme_support( 'post-thumbnails'); initフックが起動される前に呼び出す必要があります。これは、functions.phpに直接配置するか、after_setup_themeフックにアタッチした関数内に配置する必要があることを意味します。

解決済み:

コメントでわかったように、問題はTEMPLATEPATHの代わりにSTYLESHEETPATHを使用することにありました。この変更は次のリリースに含まれる予定です。フィードバックをありがとうDas:D

1
Fernando Briano

ショートコード:[catlist template = lcp_template_1 id = 9 orderby = date numberposts = 1 date = yes author = yes抜粋= yes catlink = yes thumbnail = yes]

プラグインフォルダ> list_cat_posts.phpでは、これらは 'thumbnail'のインスタンスです。

ファイルlist_cat_posts.php; 56行目: 'thumbnail' => 'no'、

ファイルlist_cat_posts.php; 168行目:if($ atts ['thumbnail'] == 'yes'){

ファイルlist_cat_posts.php; 169行目:$ lcp_display_output。= lcp_thumbnail($ single);

ファイルlist_cat_posts.php; 229行目:* @see http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail

ファイルlist_cat_posts.php; 232:関数lcp_thumbnail($ single){

ファイルlist_cat_posts.php;行233:$ lcp_thumbnail = '';

ファイルlist_cat_posts.php; 234行目:if(has_post_thumbnail($ single-> ID)){

ファイルlist_cat_posts.php; 235行目:$ lcp_thumbnail = get_the_post_thumbnail($ single-> ID);

ファイルlist_cat_posts.php; 237行目:$ lcp_thumbnailを返す。

そして私のテンプレートでは、これらは 'thumbnail'のインスタンスです。

//サムネイルを表示しますか? if($ atts ['thumbnail'] == 'yes'){$ lcp_output。= '<div class = "lcp_thumbnail"> <a href="'.get_permalink($single-> ID)。 get_the_post_thumbnail($ single-> ID、配列( '40'、 '40'))。 '</a> </div>'; }

私の知る限り、スペルミスはありません。私はすでにあなたが参照しているフォーラムのスレッドを見ていて、デフォルトのテンプレートを修正しました。

サムネイルが元の投稿に期待どおりに表示されているので、LCPが投稿と一緒に引っ張っていない理由はわかりません。抜粋でそうしないのでなければ?

0
Das