強制 WordPress 僅在特定的自訂貼文類型上從標題產生貼文 slug
P粉514458863
P粉514458863 2024-03-31 18:58:26
0
1
388

我使用下面的程式碼強制WordPress 從貼文標題產生貼文slug,即使用戶定義了不同的slug 或複製另一個slug,但我希望這只影響名為job_listing 的特定貼文類型但不幸的是它會影響我網站上的所有帖子類型。

function myplugin_update_slug( $data, $postarr ) {
if ( ! in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
    $data['post_name'] = sanitize_title( $data['post_title'] );
}

return $data;
}

add_filter( 'wp_insert_post_data', 'myplugin_update_slug', 99, 2 );

如何使用上述程式碼僅定位名為 job_listing 的特定貼文類型,而不影響其他貼文類型

有人可以幫我修改這段程式碼以滿足我的需要嗎?

我們將不勝感激您的幫助。

P粉514458863
P粉514458863

全部回覆(1)
P粉985686557

根據文件 $data 包含 post_type 所以你應該可以使用它:

function myplugin_update_slug( $data, $postarr ) {
    if ( $data['post_type'] === 'job_listing' && ! in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
        $data['post_name'] = sanitize_title( $data['post_title'] );
    }

    return $data;
}

add_filter( 'wp_insert_post_data', 'myplugin_update_slug', 99, 2 );
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板