Wordpress 向WP中的自定义Post类型slug添加斜杠

Wordpress 向WP中的自定义Post类型slug添加斜杠,wordpress,rpc,permalinks,slash,rubypress,Wordpress,Rpc,Permalinks,Slash,Rubypress,我有一个自定义的Post类型,它是通过XML-RPC使用RubyPress创建的 创建帖子时,我在帖子名称中指定了一些斜杠(slug或permalink) 但是,将这些斜杠转换为连字符: 例如:year/code/some string name最终成为year code some string name 年份和代码是动态值,所以我不能使用父页方法,因为每个帖子都有不同的值。经过一些研究,这对我来说是有效的 你必须安装一个名为“自定义永久链接”的插件,因为WordPress不允许你通过代码在永久

我有一个自定义的Post类型,它是通过XML-RPC使用RubyPress创建的

创建帖子时,我在帖子名称中指定了一些斜杠(slug或permalink)

但是,将这些斜杠转换为连字符:

例如:
year/code/some string name
最终成为
year code some string name


年份和代码是动态值,所以我不能使用父页方法,因为每个帖子都有不同的值。

经过一些研究,这对我来说是有效的

你必须安装一个名为“自定义永久链接”的插件,因为WordPress不允许你通过代码在永久链接中添加斜杠

每次发布MyPost时,都将执行以下代码。除了发布,您还可以使用其他保留字,如果您感兴趣,请查找“状态转换后”

add_action('publish_mypost', 'add_slashes_to_mypost_slug');

function add_slashes_to_mypost_slug( $post_id ) {
    $post = get_post($post_id);
    $slug = $post->post_name;

    $slug_exploded = explode('-', $slug);
    $year = array_shift($slug_exploded);
    $code = array_shift($slug_exploded);
    $remainder = implode('-', $slug_exploded);
    $new_slug = $year.'/'.$code.'/'.$remainder;

    update_post_meta($post_id, 'custom_permalink', $new_slug);
}