Ich habe einen WooCommerce Laden, wo ich mag zeige eine vorgestellten Bild & Überschrift eines der folgenden (in der Reihenfolge) effizienten Rückfall schreiben:Wie für leeren wp_query in Wordpress
- Sonderprodukt
- wenn kein gekennzeichnetes Produkt, dann klebrig Post
- wenn keine klebrige Post, dann neuester Beitrag
Aber ich mag auch effizienten Code schreiben. Wie kann ich dies vereinfachen und redundantes PHP und HTML entfernen?
/* START FEATURED PRODUCT QUERY */
$args = array(
'posts_per_page' => 1,
'post_type' => 'product',
'meta_query' => array(
'key' => '_featured',
'value' => 'yes'
),
$query = new WP_Query($args);
if($query->have_posts()) {
while($query->have_posts()) {
$query->the_post(); ?>
<a href="<?php the_permalink(); ?>" id="featured-blog-post">
<?php the_post_thumbnail('full');
the_title('<h2>', '<span>»</span></h2>');
the_excerpt(); ?>
</a> <?php
} // end while
wp_reset_postdata();
} else {
/* START FALLBACK POST QUERY */
$args = array(
'posts_per_page' => 1,
'post__in' => get_option('sticky_posts'),
'ignore_sticky_posts' => 1
);
$query = new WP_Query($args);
while($query->have_posts()) {
$query->the_post(); ?>
<a href="<?php the_permalink(); ?>" id="featured-blog-post">
<?php the_post_thumbnail('full');
the_title('<h2>', '<span>»</span></h2>');
the_excerpt(); ?>
</a> <?php
} // end while
wp_reset_postdata();
}
Der zweite WP_Query hat genau die gleiche HTML-Ausgabe, nur anders $args