我使用下面的代碼強制 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的特定帖子型別而不影響其他帖子型別
有人可以幫我修改此代碼以滿足我的需要嗎?
您的幫助將不勝感激。
uj5u.com熱心網友回復:
根據檔案$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 );
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/461795.html
