强制 WordPress 仅在特定的自定义帖子类型上从标题生成帖子 slug
P粉514458863
P粉514458863 2024-03-31 18:58:26
0
1
359

我使用下面的代码强制 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 );
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!