Wordpress - Abfrage, ob ein benutzerdefinierte Post-Typ hat keine Beiträge - von außerhalb der Schleife
-
26-09-2019 - |
Frage
Ich mache ein Restaurant Menü benutzerdefinierten Post-Typen für die verschiedenen Menü-Abschnitte verwenden. Ich benutzen die ausgezeichneten Benutzerdefinierte Beitragstypen UI-Plugin und die Verve Meta Boxes Plugin. Ich bin dann sie aus in separate Schleifen mit mehreren Segmenten des folgenden Code fließt:
<?php
$hotfood = get_posts( array('post_type' => 'hotfood', 'posts_per_page' => -1) );
foreach ($hotfood as $post) :
setup_postdata($post);
?>
<dl>
<dt>
<strong><?php the_title_attribute(); ?></strong>
<span>£<?php echo get_post_meta($post->ID, 'price', true) ?></span>
</dt>
<?php
$key = 'description';
$themeta = get_post_meta($post->ID, $key, TRUE);
if($themeta != '') {
echo '<dd>'.$themeta.'</dd>';
}
?>
</dl>
Aber dann darüber, ich versuche eine if
bekommen zu fragen, ob es irgendwelche Beiträge innerhalb eines benutzerdefinierten Post-Typs, dass ich definiert haben.
Ich habe versucht, Dinge wie
<?php if(get_posts ('post_type' => 'hotfood')
echo '<h2>Hot Food</h2>';
?>
und
<?php $args = array
(
'post_type' => 'hotfood',
'numberposts' => -1'
);
$hotfoodpresent = get_posts($args);
if($hotfoodpresent) echo '<h2>Hot Food</h2>';
?>
, aber keiner von denen scheinen zu arbeiten. Ich glaube, ich habe durch die Wordpress Codex surften und haben ziemlich viel Zeit damit verbracht, um das Problem zu entziffern.
Jede Hilfe würde sehr geschätzt werden.
UPDATE: Sorry, total geordnet. Ich war overcomplicating Dinge. Ein einfaches
<?php
$hotfoodpresent = get_posts(
[
'post_type' => 'hotfood',
'posts_per_page' => 1,
'fields' => 'ids'
]
);
if ($hotfoodpresent) {
echo '<h2>Hot Food</h2>'
};
funktionierte perfekt.
Lösung
Ich war overcomplicating Dinge. Ein einfaches
<?php
$hotfoodpresent = get_posts(
[
'post_type' => 'hotfood',
'posts_per_page' => 1,
'fields' => 'ids'
]
);
if ($hotfoodpresent) {
echo '<h2>Hot Food</h2>';
};
funktionierte perfekt.