2017-10-18 1 views
1

Ich verwende Beziehungsfeld auf einen meiner benutzerdefinierten Beitragstyp (Releases).mit Post-ID innerhalb der umgekehrten ACF-Beziehungsabfrage

alle meine realease haben ein Beziehungsfeld mit "artists" Beitrag, also sind alle meine Veröffentlichungen mit einem Künstler verbunden.

Jetzt versuche ich eine umgekehrte Abfrage durchzuführen, um alle "Veröffentlichungen" anzuzeigen, die dem in meinem Beziehungsfeld ausgewählten Künstler zugeordnet sind.

hier mein Code so weit:

<?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; ?> 

mit diesem Code, alle Veröffentlichungen von Künstlern ID „191“ auf y benutzerdefinierte Post-Typ angezeigt.

Das Problem ist, dass ich versuche, die Releases von dem Künstler anzuzeigen, der mit dem "Release" -Post verbunden ist.

, was ich versuche zu tun, um die ID des Künstlers in meinem querie zu bekommen, wie diese (Breite „get_the_ID()“ statt „191“)

<?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' 
) 
) 
));?> 

aber ich erhalte die ID der "Release" -Post, nicht die ID des Künstlers.

kann mir anyboby dabei helfen?

hoffen, dass Sie meine Frage, sorry für mein schlechtes Englisch

Antwort

0

Wird diese Arbeit statt in Ihrem Array unter Code

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

Dank, aber mu querry hat nichts mit dem Autor oder Benutzer – mmdwc

0

Versuchen Sie zu verstehen. Ich denke, das wird funktionieren.

<?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

dank @sheraz zu tun, habe ich versucht, Sie Code hinzufügen, aber es funktioniert nicht Arbeit. Können Sie mir bitte sagen, wo Sie Ihren Code hinzufügen sollen? Ich habe Zweifel – mmdwc

+0

Ich habe die Antwort aktualisiert. überprüfe es. – sheraz

+0

danke, aber es funktioniert nicht, ich habe die Lösung gefunden, lesen Sie bitte weiter unten – mmdwc

0

ich eine Lösung gefunden habe:

<?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; ?> 
Verwandte Themen