追記:関連記事 プラグインなしで探してみましたが、
以下のようなページは拝見しましたが、
カスタムフィールドテンプレートの値、というのがわかりません。
↓
http://bl6.jp/web/wordpress/related-posts-functions/
よろしくお願いいたします。
「そこまで知識がないためカスタマイズは困難なので」ならば、プラグインを使ったほうが良いのでは?
[プラグイン]
Custom Post Types Relationships (CPTR)
[使い方]
http://www.warna.info/archives/2250/
pluto1234様
ご回答、誠にありがとうございます。
プラグインも教えて頂き、ありがとうございます。
インストールしてみまして、触ってみました。
ただ、私のかなり質問が不明確でした。申し訳ありません。
かなり無茶なのしれませんが、
●クライアントがある程度管理して、且つ投稿数が膨大なため、
設定の作業はNGになります。(自動でいきたいです)
●単に関連記事ではなく、例えば、
1.「投稿者」と、2.「会社名」というカスタムフィールドテンプレートの値で、
同じ値(value)のもののリンクを表示させたいのです。
※この記事がかなり近いと思うのですが。
http://ja.forums.wordpress.org/topic/3445?replies=5
それで、投稿した後も、上記の記事を参考に実装を試みましたが、
何も表示されませんでした。
‘;
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(
:
);
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;
?>
pluto1234さま
ありがとうございます。
頂いた分反映させて頂きます。
ありがとうございました。