我是否可以创建自定义分类,而不创建Slug页面?

时间:2018-06-07 作者:Galgóczi Levente

我想通过当前帖子的id为我的帖子分配一个值,该变量是什么。最初我想使用自定义的post\\u meta来实现这一点,我认为这是很好的,但是当我使用这个post\\u meta运行查询时,我的页面加载速度会非常慢(基本时间的4-5倍),因为sql查询(我在数据库中为这个post\\u meta创建了自己的索引,但这对我没有帮助)。。。

因此,我读到,如果我创建一个自定义分类法,什么具有相同的值,这将很快,就像标记查询一样。但如果这种自定义分类法创建页面(域(.)tld/taxonomy\\u name/taxonomy\\u slug)。。。

我可以创建没有页面的自定义分类法吗?所以这会像post\\u meta那样工作?只有一个值,查询什么?

2 个回复
最合适的回答,由SO网友:cybmeta 整理而成

这取决于你到底想要什么,但你可以玩public, publicly_queryable 以及注册分类时的其他参数。

例如,使用以下代码,分类法将在后端具有用户界面,但不会公开,WordPress也不会为每个术语生成URL:

add_action( \'init\', \'register_custom_tax\' );
function register_custom_tax() {
    register_taxonomy(
        \'my-tax\',
        \'post\',
        array(
            \'public\'  => false,
            \'show_ui\' => true
        )
    );
}

SO网友:Mel

我总是使用这个整洁的web工具来创建我的自定义帖子类型。在“选项”下,您可以配置为不使用Slug:https://generatewp.com/post-type/

或者,您可以将其添加到上面的数组中(在回答1中):

\'has_archive\'           => false, // this works for post types
(由发问者编辑):has\\u归档对于分类法不存在,在这种情况下需要使用“重写”和“公共”参数。完整的代码,最适合我的代码(因此此分类法的工作方式类似于post\\u meta,但超快速-->有关此分类法的所有内容都为false,因为我在发布帖子时使用wp\\u set\\u object\\u terms以数字方式设置此分类法的值):

add_action( \'init\', \'register_custom_tax\' );
function register_custom_tax() {
    register_taxonomy(
        \'costum-taxonomy-name\',
        \'post\',
        array(
            \'public\'  => false,
            \'show_ui\' => false,
            \'publicly_queryable\' => true, // If I am dont silly, the taxonomy will not public, but queryable
            \'show_in_menu\' => false,
            \'show_in_nav_menus\' => false,
            \'rewrite\' => false, // THIS IS IT, WHAT REALLY RESTRICT THE TAXONOMY PAGES
            \'hierarchical\' => false
        )
    );
}

结束

相关推荐