Ändern Sie die function, um Tags / Kategorien zu drucken / Tags / Kategorien ausschließen / Anzahl der Posts

Ich versuche, einen Code zu bekommen, den ich Sitewide verwenden kann, um Listen von Beiträgen zu drucken (wie es Leute auf ihrer Homepage tun, um die neuesten Kategorien ihrer Kategorien anzuzeigen). Mit Hilfe von anderen in den letzten Jahren habe ich eine gewisse Distanz erreicht, aber nicht die ganze Zeit, was ich gerade versuche.

Sie können sehen, dass dieses Stück in “functions.php” geht. Ich kann dafür sorgen, dass Kategorien ODER Tags sie ausgleichen. Ich möchte das aber hinzufügen. Ich möchte in der Lage sein, ein Kategorie-ODER-Tag auszuwählen, aber dann auch Beiträge ausschließen, die auch ein anderes Tag / cat haben. Ich möchte zum Beispiel eine Liste von “grizzly-bear” -Tag-Posts drucken, aber alle Posts ausschließen, die mit “alaska” getaggt sind, sowie (wenn möglich) jeden Post aus der “blog” -Kategorie. Ich würde auch bevorzugen, wenn die function geändert wurde, so dass ich die Anzahl der Beiträge auf die gleiche Weise wie ich den Offset eingeben konnte (weil es jetzt so ist, muss ich eine neue function für jede Anzahl von Posts machen, die ich will).

Im Moment drucke ich es mit:

 

Kann jemand helfen, wie man dieses Zeug hinzufügt? Vor allem mit der Änderung dieses Codes, so dass die Anzahl der Posts, so etwas wäre es mit etwas wie:

  

function wie es jetzt ist:

 // Universal category - tag - offset code function function my_custom_loop($category, $tag, $offset) { $args=array( // showposts has been replaced, use 'posts_per_page' instead // 'showposts' =>10, 'posts_per_page' => 10, // this has been replaced, use 'ignore_sticky_posts' // 'caller_get_posts' => 1, 'ignore_sticky_posts' => true, ); if ($category) { $args['cat'] = $category; } if ($tag) { $args['tag'] = $tag; } if ($offset) { $args['offset'] = $offset; } $my_query = new WP_Query($args); // ... rest of function to output loop if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $my_query->the_post(); ?> 
  • <a href="https://wordpress.stackexchange.com/questions/257857/modify-function-to-print-tags-categories-exclude-tags-categories-number-of-post/" >
  • <?php endwhile; } //if ($my_query) wp_reset_query(); // Restore global post data stomped by the_post(). };

    Solutions Collecting From Web of "Ändern Sie die function, um Tags / Kategorien zu drucken / Tags / Kategorien ausschließen / Anzahl der Posts"

    Ich frage mich, ob Sie diese Art von Loop-Wrapper meinen:

     wpse_257857_loop( $args = [ 'post_type' => 'page', 'posts_per_page' => 2 ], $before = 'template-parts/wpse-before', $loop = 'template-parts/wpse-loop', $after = 'template-parts/wpse-after' ); 

    wo wir es in der Datei functions.php im aktuellen Themenverzeichnis definieren:

     /** * Simple loop wrapper */ function wpse_257857_loop( $args, $before, $loop, $after ) { $defaults = [ 'posts_per_page' => 10, 'ignore_sticky_posts' => true, ]; $args = wp_parse_args( $args, $defaults ); $query = new WP_Query( $args ); if( $query->have_posts() ) { get_template_part( $before ); while( $query->have_posts() ) { $query->the_post(); get_template_part( $loop ); } get_template_part( $after ); wp_reset_postdata(); } } 

    Beachten Sie, dass wir wp_reset_query() nicht benötigen, stattdessen verwenden wir wp_reset_postdata() .

    Wir müssen die Template-Teile im aktuellen get_template_part() Verzeichnis definieren, die wir mit get_template_part() laden.

    Hier ist ein Beispiel:

    • /template-parts/wpse-before.php enthält:

       
      • /template-parts/wpse-after.php enthält:

          
    • /template-parts/wpse-loop.php enthält:

        
    • < ?php the_title(); ?>
    • Hoffe, Sie können es an Ihre Bedürfnisse anpassen!