0

http://css-tricks.com/video-screencasts/

ワードプレスも利用しているこの有名なサイトを見てみてください。ループの内容は、単一の投稿とは異なります。ループでは「dl」要素を使用しますが、単一の投稿のメインコンテンツは使用しません。ループでのみ表示される投稿の別の簡単な要約があるようなものです。

だから私の問題は、複数の投稿のループに何か(画像、記事、ビデオの埋め込みを含む)を表示するが、単一の投稿自体には表示しない方法、およびその逆です。

4

2 に答える 2

1

まず、このWebサイトの構造について私たちが知っていることから始めましょう。表示しているページには、「ビデオスクリーンキャスト」と呼ばれるカスタム投稿タイプがあるか、「ビデオスクリーンキャスト」のカテゴリを使用しているため、複数の投稿ページで使用されるテンプレートはおそらく次のいずれかです。

ビデオスクリーンキャストがカテゴリの場合

  1. category-video-screencasts.php
  2. カテゴリ-{cat_id}.php
  3. category.php

ビデオスクリーンキャストがカスタム投稿タイプの場合

  1. archive-video-screencasts.php
  2. archive.php
  3. index.php(ありそうもない)

最終的に、それが利用している可能性のあるテンプレートファイルが何であれ、あなたにとって大きな違いはありません。これらは、同様の方法で独自のWebサイトを編成するための可能なオプションです。

次に、複数の投稿ページと単一の投稿ページの構造の違いを見てみましょう。複数の投稿ページがクエリを実行しており、クエリの結果に基づいて一連の注目の画像抜粋を返します。単一の投稿ページは、投稿自体の実際のコンテンツを返します。

だから今、私たちはこのようなことをどのように行うかを理解する必要があります。それでは、画像から始めましょう。

これは、2つの方法のいずれかで実行できます。テーマを作成するときに、プレビュー画像を投稿に添付できる最もWordpressに適した方法は、投稿サムネイルのテーマサポートを追加することです。別の可能な方法は、表示したい画像のサムネイルへのパスを使用してカスタムフィールド(おそらく「previewImg」という名前)を追加することです。

抜粋について:

投稿とページには、設定可能なオプションの抜粋フィールドがあります。これを自分で確認するには、投稿エディタに移動して、ページの右上隅を確認してください。「画面オプション」というボタンが表示されます。これにより、エントリを微調整するために使用できるさまざまな投稿/ページコントロールをオンにすることができます。抜粋とカスタムフィールドは、この領域内で有効にできる多くのオプションのうちの2つにすぎません。

すべての投稿とページには抜粋があります。通常、Wordpressはデフォルトで投稿のコンテンツの最初の50語程度になりますが、投稿の抜粋フィールドにHTMLを配置することで、これをオーバーライドできます。これで、ループを生成するだけで済みます。

<?php
$query = new WP_Query(array('category_name'=>'video-screencasts'));
if($query->have_posts()) : while($query->have_posts()) : $query->the_post();
?>
<div class="post_result">
    <a class="thumb" href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
    <h1 class="title"><?php the_title(); ?></h1>
    <p class="excerpt"><?php the_excerpt(); ?></p>
</div>
<?php
endwhile;endif;
?>

これは、私が上で説明したことのいくつかを利用して、非常に基本的なレベルで機能する単なる例です。これは、「ビデオスクリーンキャスト」がカテゴリであり、サムネイルの投稿のテーマサポートが有効になっていることも前提としています。

単一の投稿テンプレートの場合、コード自体は最小限になります。

<?php
if(have_posts()) : while(have_posts()) : the_post();
?>
<h1 class="title"><?php the_title(); ?></h1>
<?php
the_content();
endwhile;endif;
?>

前述のように、これはページの設定方法とは異なり、これらのコード例は、目的を達成する方法を説明することを目的としています。

全体として、多くの関数を利用してすべてをニーズに合わせて調整し、独自のコードを記述して足を濡らす方法について少し読む必要があります。しかし、全体として、これはあなたが正しい方向に始めるのを助けるためにあなたが知る必要があるすべてをカバーしていると思います。

幸運を。

于 2012-07-24T18:32:10.960 に答える
0

2つのソリューションを完成させます

1.)カスタム抜粋+機能画像を使用する

2.)ワードプレス関数のget_post_customビルドでカスタムフィールドを使用する

于 2012-07-25T13:51:24.687 に答える