web-dev-qa-db-ger.com

Verwenden Sie wp_get_recent_posts mit Suchbegriff

Ich habe eine Funktion, die wp_get_recent_posts() verwendet. Ich muss dieselbe Funktion auf meiner Suchseite verwenden, habe jedoch Probleme, den Suchparameter zum $args-Array hinzuzufügen.

Weiß jemand, ob dies möglich ist und wie dies umgesetzt werden kann?

hier ist meine Funktion

function recent_articles_grid( $atts ) {

    extract( shortcode_atts( array (
        'numberposts'   => 6,
        'offset'        => 0,
        'featured'      => null,
        'trending'      => null,
        'showdate'      => null,
        'category'      => null,
        'showauthor'    => null,
        'init'          => 1,
        'searchterm'    => null
    ), $atts ) );

$args = array(
        'numberposts' => $numberposts,
        'offset' => $offset,
        'category__not_in' => array(391),
        'category' => $category,
        'orderby' => 'post_date',
        'order' => 'DESC',
        'post_type' => 'post',
        'post_status' => 'publish'
    );

    $recent_posts = wp_get_recent_posts( $args, ARRAY_A );

... additional code ...

}
1
Jason

Es sollte nur darum gehen, das Argument 's' von wp_get_recent_posts() (oder nur get_posts()) auf den Suchbegriff zu setzen:

$args = array(
    'numberposts' => $numberposts,
    'offset' => $offset,
    'category__not_in' => array(391),
    'category' => $category,
    'orderby' => 'post_date',
    'order' => 'DESC',
    'post_type' => 'post',
    'post_status' => 'publish',
    's' => $searchterm,
);

$recent_posts = wp_get_recent_posts( $args, ARRAY_A );

Aber ja, wie in den Kommentaren besprochen, würde ich diese Methode zur Anzeige von Suchergebnissen nicht empfehlen. Wenn Sie search.php korrekt verwenden, enthält die Hauptabfrage/-schleife bereits Suchergebnisse.

Eine bessere Frage könnte sein, wie Sie Beiträge aus der Hauptabfrage in Ihre Layoutfunktion übernehmen können. Andernfalls führen Sie die Suche nur unnötigerweise zweimal durch, und es treten Probleme mit der Paginierung auf, da Sie die Schleifen- und Vorlagenhierarchie nicht ordnungsgemäß verwenden.

2
Jacob Peattie