1

wordpressをCMSとして使ってホームページを作っています。ウィジェット対応の領域がいくつかあるフロントページがあります。他にも静的なページがいくつかあります (たとえば、「自己紹介」など)。これらのページには、抜粋 (「詳細」行の上) と本文テキスト (詳細行の下) があります。

何時間も試してみましたが、ウィジェット領域 (サイドバー) に特定のページの抜粋を表示するための適切なプラグインや便利なコードが見つかりません。

誰かが私を助けることができれば、それは素晴らしいことです...

4

3 に答える 3

1

抜粋のためにこのコードを試してください..

<?php query_posts('cat=ID'.'&showposts=NO. OF POST') ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php the_post_thumbnail(); ?>
<p><?php echo substr(get_the_excerpt(), 0,65).' [...]'; ?></p>
<a href="<?php the_permalink(); ?>">Read More...</a>


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

カテゴリIDと投稿制限を変更する...

于 2012-08-31T06:18:44.697 に答える
1

プラグインでこれを行うことができますが、自分で実装する方がより有益な場合があります。それほど複雑ではありません。ウィジェット内で投稿の抜粋を取得するには、2 つのことを行う必要があります。デフォルトでは、WordPress ではウィジェット内で php を実行できません。これを回避するには、ファイルに移動し、functions.phpファイルの末尾に次のコードを追加します。

add_filter('widget_text', 'execute_php', 100);

function execute_php($html) {
    if (strpos($html,"<"."?php")!==false) {
        ob_start();
        eval("?".">".$html);
        $html=ob_get_contents();
        ob_end_clean();
    }
    return $html;
}

これにより、ウィジェット内で php コードを実行できます。配置したら、ウィジェット メニューに移動し、新しいテキスト ボックスをサイドバーにドラッグして、次のコードをテキスト ボックスに配置します。

<?php
    global $post;
    $tmp_post = $post;      
    $args = array( 'numberposts' => 5, 'category__in' => array(11));
    $myposts = get_posts( $args );
    foreach( $myposts as $post ) : setup_postdata($post);
        the_excerpt();
    endforeach;
    $post = $tmp_post;
?>

このコードは、カテゴリ 11 の最初の 5 つの投稿を除いて実行され、出力されます。明らかにコードを変更して、探している特定の結果を得ることができます。特定のケースにより直接的に調整されたコードが必要な場合はお知らせください。お手伝いします。

于 2012-08-31T03:06:25.240 に答える
0

まず、PHP Code Widgetプラグインをインストールする必要があります。

このプラグ ウィジェットをサイドバーにドラッグし、このコードをそこに配置します

<?php

// The Query
$the_query = new WP_Query( 'pagename=your page slug' );

// The Loop
while ( $the_query->have_posts() ) : $the_query->the_post();
echo '<li>';
the_content('Read more...');
echo '</li>';
endwhile;

// Reset Post Data
wp_reset_postdata();

?>

これが役立つことを願っています

于 2012-08-31T03:07:21.787 に答える