2017-10-18 2 views
1

私のカスタムポストタイプ(リリース)の1つに関係フィールドを使用しています。逆IDの内側のポストIDを使用するACF関係クエリ

私のすべてのrealeaseは "Artists"の投稿との関係フィールドを持っているので、すべてのリリースは1アーティストに関連付けられています。

私はリバースクエリを実行して、関係フィールドで選択したアーティストに関連付けられているすべての「リリース」を表示しようとしています。

はここに私のこれまでのコードです。このコードで

<?php 
$releases = get_posts(array(
'post_type' => 'releases', 
'numberposts'=> -1, 
'post__not_in' => array($post->ID), 
'meta_query' => array(
array(
'key' => 'artist', 
'value' => 191, 
'compare' => 'LIKE' 
) 
) 
));?> 
<?php if($releases): ?> 
<?php foreach($releases as $release): ?> 

<div class="col-xs-2 text-center"> 

<a href="<?php echo get_permalink($release->ID); ?>" class="related_releases" title="<?php echo get_the_title($release->ID); ?>"> 

<img src="<?php echo get_the_post_thumbnail_url($release->ID, 'full'); ?>"> 

</a> 

</div> 

<?php endforeach; ?> 

<?php endif; ?> 

、アーティストID「191」からのすべてのリリースのyのカスタムポストタイプに表示されます。

問題は、「リリース」投稿に関連付けられたアーティストからのリリースを表示しようとしていることです。

は私がやろうとしていること

<?php 
$releases = get_posts(array(
'post_type' => 'releases', 
'numberposts'=> -1, 
'post__not_in' => array($post->ID), 
'meta_query' => array(
array(
'key' => 'artist', 
'value' => get_the_ID(), 
'compare' => 'LIKE' 
) 
) 
));?> 

(代わりに「191」の「()get_the_ID」幅)このように、私のquerie内のアーティストのIDを取得することですが、私はIDを取得しますアーティストのIDではなく、「リリース」投稿のうちの1つです。

私はこれを手伝ってもらえますか?

答えて

0

は、この作品はあなたの配列

'value' => get_the_author_meta($user_id), 
+0

おかげで、しかし、ミューquerryは、おかげで@sheraz、私はあなたのコードを追加しようとしましたが、それはないautorまたはユーザー – mmdwc

0

に代わりウィル私の悪い英語のため申し訳ありませんが、あなたは私の問題を理解してほしいが、コードの下に試してみてください。私はこれが動作すると思います。

<?php 
$artist  = get_post_meta (get_the_ID(),'artist'); 
$releases = get_posts(array(
'post_type' => 'releases', 
'numberposts'=> -1, 
'post__not_in' => array($post->ID), 
'meta_query' => array(
array(
'key' => 'artist', 
'value' => $artist[0], 
'compare' => 'LIKE' 
) 
) 
));?> 
<?php if($releases): ?> 
<?php foreach($releases as $release): ?> 

<div class="col-xs-2 text-center"> 

<a href="<?php echo get_permalink($release->ID); ?>" class="related_releases" title="<?php echo get_the_title($release->ID); ?>"> 

<img src="<?php echo get_the_post_thumbnail_url($release->ID, 'full'); ?>"> 

</a> 

</div> 

<?php endforeach; ?> 

<?php endif; ?> 
+0

とは何の関係もありません作業。あなたのコードを追加する場所を教えてください。私は疑問を持っています – mmdwc

+0

私は答えを更新しました。レビューする。 – sheraz

+0

ありがとうございますが、動作していない、私は解決策を見つけた、以下をお読みください – mmdwc

0

私は解決策を見つけた:

<?php 

$posts = get_field('artist'); if($posts): 
foreach(array_slice($posts, 0, 1) as $post): 
setup_postdata($post); 
$post_ID = get_the_ID(); 
endforeach; 
wp_reset_postdata(); 
endif; 

$releases = get_posts(array(
'post_type' => 'releases', 
'numberposts'=> -1, 
'post__not_in' => array($post->ID), 
'meta_query' => array(
array(
'key' => 'artist', 
'value' => $post_ID, 
'compare' => 'LIKE' 
) 
) 
));?> 
<?php if($releases): ?> 
<?php foreach($releases as $release): ?> 

<div class="col-xs-2 text-center"> 

<a href="<?php echo get_permalink($release->ID); ?>" class="related_releases" title="<?php echo get_the_title($release->ID); ?>"> 

<img src="<?php echo get_the_post_thumbnail_url($release->ID, 'full'); ?>"> 

</a> 

</div> 

<?php endforeach; ?> 

<?php endif; ?> 
関連する問題