pre_get_posts Action —— 在創(chuàng)建查詢變量之后、運行實際查詢之前觸發(fā)的操作

發(fā)布于:
更新時間:2025-04-29

本文介紹了pre_get_posts Action的使用方法,該Action用于修改WordPress主查詢,無需創(chuàng)建自定義查詢。通過示例代碼,展示了如何在首頁排除特定ID文章以及在搜索結果中僅顯示文章內(nèi)容。適合開發(fā)者快速掌握主查詢修改技巧。

pre_get_posts Action主要用來修改主查詢,經(jīng)常在需要修改主文章查詢時使用,可以讓我們不用創(chuàng)建自定義查詢來得到我們需要的文章內(nèi)容。

參數(shù)

該Action只有一個參數(shù),就是通過引用傳遞的$wp_query 對象。

使用示例

下面是幾個使用示例,可以幫我我們快速了解 pre_get_posts Action 的使用方法。

在首頁文章中排除ID位7、11 的文章。

add_action( 'pre_get_posts', function ($query) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'post__not_in', array( 7, 11 ) );
    }
} );

在搜索結果中排除頁面、只搜索文章內(nèi)容。


add_action( 'pre_get_posts', function ($query) {
    if ( ! is_admin() && $query->is_main_query() ) {
        if ( $query->is_search ) {
            $query->set( 'post_type', 'post' );
        }
    }
} );

我們提供 WordPress主題和插件定制開發(fā)服務

本站長期承接 WordPress主題、插件、基于 WooCommerce 的商店商城開發(fā)業(yè)務。 我們有 10 年WordPress開發(fā)經(jīng)驗,如果你想 用WordPress開發(fā)網(wǎng)站, 請聯(lián)系微信: iwillhappy1314,或郵箱: [email protected] 咨詢。

發(fā)表回復

您的郵箱地址不會被公開。 必填項已用 * 標注

*