Ich versuche gerade, das ACF-Beziehungsfeld zu verwenden, um auszuwählen, auf welchen Seiten ein bestimmter Codeabschnitt ausgeführt werden soll, z. B. wenn ich Seite A, Seite B und Seite auswähle C, ich möchte, dass die Arbeit "Hallo" hinzugefügt wird.ACF - Verwenden des Beziehungsfelds zum Auswählen der Seite
Bisher habe ich das folgende Beziehungsfeld.
<?php
$posts = get_field('which_venue', options);
if($posts): ?>
<ul>
<?php foreach($posts as $post): // variable must be called $post (IMPORTANT) ?>
<?php setup_postdata($post); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php
$thisurl = the_permalink();
// echo $thisurl;
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if($url == $thisurl) {
echo "match";
}
?>
</li>
<?php endforeach; ?>
</ul>
<?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif; ?>
Meine Idee war es, zu versuchen und matchthe URL mit dem ausgewählten URL, das heißt, wenn meine URL http://www.example.com/pagea war und ich hatte Seite A ausgewählt, wäre es angezeigt hallo, aber leider kein Glück so weit.
Hat jemand eine Idee von einem anderen Weg?
Danke!
Ich würde anstelle der URL passende gegen die Seiten-ID vor. Sie können 'get_the_ID()' innerhalb der Schleife verwenden, um die ID der angezeigten Seite zu erhalten. Dann holen Sie sich die Seiten-ID von ACF, mit der Sie abgleichen. Ich weiß nicht mehr genau, wie ich den späteren Teil machen soll. –
Wenn Sie also die Seite A, B und D in Ihrem Beziehungsfeld 'what_venue' auswählen und der Benutzer sich auf der Seite A, B oder D befindet, möchten Sie, dass ein spezieller Code ausgeführt wird, richtig? – Joe
Das ist richtig. Ich habe jetzt eine Lösung. Ich werde morgen für jeden veröffentlichen, der ein ähnliches Problem hat –