当前位置: 首页 > 知识库问答 >
问题:

没有自定义post类型slug的WordPress slug

双恩
2023-03-14

我已使用以下代码注册自定义邮件类型:

register_post_type(
         array(
            'labels'            => // array of labels,
            'public'            => true,
            'publicly_queryable'=> true,
            'show_ui'           => false,
            'map_meta_cap'      => true,
            'show_in_menu'      => false, 
            'query_var'         => true,
            'rewrite'           => array( 'slug' => 'movie' ),
            'capability_type'   => 'post',
            'has_archive'       => false,
            'exclude_from_search' => true,
            'supports'          => array('title'),
        )
);

问题是,这篇文章的URL变成了:

http://yourdomain.com/movie/post_slug/

但是,我需要:

http://yourdomain.com/post_slug/

有没有办法从URL中删除帖子类型的段塞“电影”,比如默认情况下在前端显示的帖子和页面?

谢谢

共有3个答案

平俊茂
2023-03-14

你有没有试过:

“带前端”=

https://codex.wordpress.org/Function_Reference/register_post_type

奚和光
2023-03-14

我不认为有直接的解决办法。如果你非常需要这个,你可以使用自定义重写后弹头

符正信
2023-03-14

您必须在init中注册post类型的电影。

register_post_type('movie', $args);

要替换来自post链接的电影,请使用以下代码。

function remove_my_post_type($post_link, $post, $leavename) {

    if ($post->post_type != 'movie' || $post->post_status != 'publish') {
        return $post_link;
    }

    $post_link = str_replace('/' . $post->post_type . '/', '/', $post_link);
    return $post_link;
}

add_filter('post_type_link', 'remove_my_post_type', 10, 3);

之后,你可以设置你的文章类型应该像一个默认的文章或页面。

function set_my_post($query) {

    if(isset($query->query['post_type'])){
        return;
    }

    if (!empty($query->query['name'])) {
        $query->set('post_type', array('post', 'movie', 'page'));
    }
}

add_action('pre_get_posts', 'set_my_post');
 类似资料:
  • 我有两个不同类别的自定义帖子类型(公文包),然后我有两个页面显示两个类别的帖子。 我调用页面时的url类似于mysite.com/pagename,其中pagename与公文包类别同名。 我的问题是,当我进入单一公文包时,url会变成mysite.com/portfolio/portfolio-name 有没有办法在url中显示投资组合类别?应该像mysite.com/portfolio-cate

  • 我已经创建了一个自定义的帖子类型“Shop”,其中包含商店类别的自定义分类法 对于我的商店类别存档页面,我希望URL结构为: example.com/shop/tech/(代替example.com/shop/category/tech/) 我希望商店的帖子example.com/shop/shop-post-title-example 我尝试了下面的代码并保存了永久链接,但当我访问商店帖子时,它

  • 我的股票与分页我尝试了很多解决方案,但没有工作!我使用WordPress5.4。我的网站是一个单页网站,当然我想在索引中使用它。php 这是我的密码: 很抱歉,如果这是一个高度重复的问题——我发现的其他修复方法都不适用于我。请有人告诉我问题在哪里? 谢谢! 编辑1我尝试了这个,它也不工作!

  • 我有一个自定义的文章类型“author”,我已经成为了归档作者。php,这里是我使用wp pagenavi插件时遇到的问题,我在这个自定义帖子类型中有15篇帖子,我已经使用了

  • 我最近开发了一个网站, 我创建了一个带有slug'job_post‘的自定义post类型,然后客户端也添加了许多post, 我现在需要将slug更改为“/jobs”, 有没有一种方法可以做到这一点而不删除所有的帖子?我担心我会把网站搞乱, 非常感谢,

  • Rust 自定义数据类型主要是通过下面这两个关键字来创建: struct: 定义一个结构体 enum: 定义一个枚举类型 而常量的创建可以通过 const 和 static 关键字来创建。