サポート » 使い方全般 » 関連記事を表示(プラグインなし)させたいのです。

  • 解決済 gcr005

    (@gcr005)


    お世話になります。
    質問させてください。

    関連記事を表示(プラグインなし)させたいのですが、
    知識不足でうまくいきません。

    プラグインYARPPなどを入れてみましたが、
    そこまで知識がないためカスタマイズは困難なので
    プラグインなしとして、「プラグイン」でなく「使い方全般」に
    質問させてもらいました。

    やりたいのは、カスタムフィールドテンプレートで投稿した値の同じもののリンクが、
    記事部分の下部に画像付きで表示させるというものです。

    どなたかお知恵を貸してもらえないでしょうか?
    どうぞよろしくお願いします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック投稿者 gcr005

    (@gcr005)

    追記:関連記事 プラグインなしで探してみましたが、
    以下のようなページは拝見しましたが、
    カスタムフィールドテンプレートの値、というのがわかりません。

    http://bl6.jp/web/wordpress/related-posts-functions/

    よろしくお願いいたします。

    「そこまで知識がないためカスタマイズは困難なので」ならば、プラグインを使ったほうが良いのでは?

    [プラグイン]
    Custom Post Types Relationships (CPTR)

    [使い方]
    http://www.warna.info/archives/2250/

    トピック投稿者 gcr005

    (@gcr005)

    pluto1234様

    ご回答、誠にありがとうございます。
    プラグインも教えて頂き、ありがとうございます。
    インストールしてみまして、触ってみました。

    ただ、私のかなり質問が不明確でした。申し訳ありません。
    かなり無茶なのしれませんが、

    ●クライアントがある程度管理して、且つ投稿数が膨大なため、
     設定の作業はNGになります。(自動でいきたいです)

    ●単に関連記事ではなく、例えば、
     1.「投稿者」と、2.「会社名」というカスタムフィールドテンプレートの値で、
     同じ値(value)のもののリンクを表示させたいのです。

    ※この記事がかなり近いと思うのですが。
    http://ja.forums.wordpress.org/topic/3445?replies=5

    それで、投稿した後も、上記の記事を参考に実装を試みましたが、
    何も表示されませんでした。

      <?php
      query_posts(‘posts_per_page=-1&meta_key=投稿者’);
      if(have_posts()) :
      $titles = array();
      while(have_Posts()) :
      the_post();
      $speaker = get_post_meta($post->ID, ‘投稿者’, true);
      $titles[$speaker]
      .= ‘

    • . get_the_title() . ‘
    • ‘ . “\n”;
      endwhile;
      ksort($titles);
      foreach($titles as $speaker => $title)
      echo ‘

    • <h5>’ . $speaker . ‘</h5>’
      . ‘
      ‘ . $title . ‘

    ‘;
    endif;
    wp_reset_query();
    ?>

    もしおわかりであれば教えて頂きたいです。
    お忙しところ恐縮ですがよろしくお願い致します。

    未確認ですが、大筋はこんな感じになると思います。

    <?php
    $post_id = $post->ID;
    $author = get_post_meta($post_id,'投稿者', true);
    $company = get_post_meta($post_id,'会社名', true);
    $args = array(
        'post_type' => 'post',
        'meta_query' => array(
            'relation' => 'AND',
            array(
                'key' => '投稿者',
                'value' => $author,
             ),
            array(
                'key' => '会社名',
                'value' => $company,
            )
        )
    );
    $related_posts = get_posts( $args );
    if (count($related_posts) >= 2) : // 必ず自分も含まれるので 2 以上
        echo '<ul>';
        foreach ($related_posts as $post) :
            setup_postdata($post);
            if ($post->ID!=$post_id) : // 自分は外す
    ?>
                <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php
            endif;
        endforeach;
    endif;
    echo '<ul>';
    wp_reset_postdata();
    ?>

    ‘numberposts’ => -1 が抜けていました。

    $args = array(
        'post_type' => 'post',
        'numberposts' => -1 ,
        'meta_query' => array(
             :
    );

    トピック投稿者 gcr005

    (@gcr005)

    pluto1234さま

    ありがとうございます!出来ました!
    思った通りに出来ました。

    本当に本当にありがとうございます。
    かなり困っていましたので。

    以下は、pluto1234さまに教えて頂いたコードに
    リンクの表示部分を投稿の画像にしたかったので、
    画像にしただけです。

    <?php
    $post_id = $post->ID;
    $author = get_post_meta($post_id,’投稿者
    ‘, true);
    $company = get_post_meta($post_id,’会社名
    ‘, true);
    $args = array(
    ‘post_type’ => ‘post’,
    ‘numberposts’ => -1 ,
    ‘meta_query’ => array(
    ‘relation’ => ‘AND’,
    array(
    ‘key’ => ‘投稿者
    ‘,
    ‘value’ => $author,
    ),
    array(
    ‘key’ => ‘会社名
    ‘,
    ‘value’ => $company,
    )
    )
    );
    $related_posts = get_posts( $args );
    if (count($related_posts) >= 2) : // 必ず自分も含まれるので 2 以上
    echo ‘

      ‘;
      foreach ($related_posts as $post) :
      setup_postdata($post);
      if ($post->ID!=$post_id) : // 自分は外す
      ?>
      ‘;
      wp_reset_postdata();
      ?>

    解決済みとさせて頂きます。
    pluto1234さま、ありがとうございました。

    あっと、最後の方がよろしくありませんでした。

    <?php
            endif;
        endforeach;
        wp_reset_postdata();
        echo '</ul>';
    endif;
    ?>

    トピック投稿者 gcr005

    (@gcr005)

    pluto1234さま

    ありがとうございます。
    頂いた分反映させて頂きます。

    ありがとうございました。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「関連記事を表示(プラグインなし)させたいのです。」には新たに返信することはできません。