- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 WordPress 构建一个网站,使用它更像是一个 CMS,然后是一个博客平台。我大量使用了自定义帖子类型和自定义分类法。最后但并非最不重要的是,我使用 WPML 插件使其成为多语言版本。
在 CPT 声明期间,我将字符串和 slug 包裹在 gettext
中。为了让它们在 WPML 中准备好翻译。
CPT声明示例如下:
register_post_type('rooms',
array(
'label' => __('Rooms','valletta'),
'description' => __('','valletta'),
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'capability_type' => 'post',
'hierarchical' => true,
'rewrite' => array('slug' => __('rooms','valletta')),
'query_var' => true,
'exclude_from_search' => false,
'menu_position' => 25,
'supports' => array('title','editor','excerpt','custom-fields','comments',),
'taxonomies' => array('features','typology',),
'labels' => array (
'name' => __('Rooms','valletta'),
'singular_name' => __('room','valletta'),
'menu_name' => __('Rooms','valletta'),
'add_new' => __('Add room','valletta'),
'add_new_item' => __('Add New room','valletta'),
'edit' => __('Edit','valletta'),
'edit_item' => __('Edit room','valletta'),
'new_item' => __('New room','valletta'),
'view' => __('View room','valletta'),
'view_item' => __('View room','valletta'),
'search_items' => __('Search Rooms','valletta'),
'not_found' => __('No Rooms Found','valletta'),
'not_found_in_trash' => __('No Rooms Found in Trash','valletta'),
'parent' => __('Parent room','valletta'),
)
)
);
最佳答案
基本上,我认为运行 flush_rewrite_rules()
在每个页面加载时,您都可以按照预期的方式本地化页面 slug,但这是一个非常糟糕的解决方案,因为它还会写入 .htaccess
每个页面加载的文件都会极大地减慢速度,并且一旦有多个用户访问该站点,可能会产生非常奇怪的结果。看着documentation看来你可以提供false
作为第一个参数,它禁用了 .htaccess 的写入,但这仍然不是一个好的解决方案,因为文档还说明了以下内容:
Important: Flushing the rewrite rules is an expensive operation, there are tutorials and examples that suggest executing it on the 'init' hook. This is bad practice. Instead you should flush rewrite rules on the activation hook of a plugin, or when you know that the rewrite rules need to be changed ( e.g. the addition of a new taxonomy or post type in your code ).
/wp-includes/rewrite.php
并查看是否有可能通过过滤器覆盖给定帖子类型的永久链接,并根据用户语言设置返回一个 slug。另一种选择可能是尝试为每种语言添加第二个永久链接,以便自定义帖子类型中的每个帖子都可以在
register_post_type
中指定的永久链接中使用。以及通过您在别处指定的固定链接。您可以使用
WP_Rewrite
来做到这一点。 ,或者添加一些
mod_rewrite
给你的指令.htaccess。在后一种情况下,这样的事情可能会奏效:
$data = 'RewriteRule ^/localized-type-name/(.*)$ /type-name/$1 [R,NC,L]';
// You might want to do a little more work on the actual rewrite rule, it's very much from the top of my head so it might not even work
insert_with_markers( ABSPATH . '/.htaccess', 'NAME OF YOUR MARKER', $data );
$wp_rewrite->flush_rules();
关于wordpress - 如何根据语言重写自定义帖子类型 slug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13117058/
我仅使用 slug 来标识网站上的页面,例如: example.tld/view/this-fancy-slug 。这是使用此函数自动从标题生成的: public static function No
哪个是新闻页面上 url 的最佳选择: 动态生成 slug。从对象 ID 加载页面。如果 slug 不匹配,永久重定向到正确的 slug。 myweb.com/542/my-news-item 我看到
slug 是描述或标题页面的 URL 的一部分,通常是该页面的关键字丰富,可改善 SEO。例如在这个网址 PHP/JS - Create thumbnails on the fly or store
刚开始玩 Django,发现了一个链接 here关于如何创建 slug。我被告知对现有模型执行以下更改: from django.template.defaultfilters import slug
我有 2 个自定义帖子类型的帖子。视频帖子和城市指南帖子第一个帖子(视频帖子)包含 url:104.130.239.132/rick-owens/第二个帖子(城市指南)conatins url:htt
我正在创建一个需要 slug 系统的系统。例如,标题为“博客标题:此处”的博客文章的 URL 为: YYYY/MM/DD/the-blog-title-here 我的系统设置得很好,如果您的 URL
我已使用以下代码注册自定义帖子类型: register_post_type( array( 'labels' => // array o
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 去年关闭。 Improve this
我刚刚安装了使用 Sluggable 的学说扩展。 我做这个: Composer .json "stof/doctrine-extensions-bundle": "1.2.*@dev" 应用内核.p
我在为一个私有(private)网站工作。我有 2 个表: 表 A(包含较旧的 slug)。 表 B(新 slug)。 这里的代码用于检查是否存在 slug 并从表 B(单表查询)创建唯一的 slug
我在我的项目中使用了 ui-router,我在文档中看到了两者: .state('app.restaurants.index', { url: '/{slug}', contr
CREATE TABLE news ( id int(11) NOT NULL AUTO_INCREMENT, title varchar (128) NOT NULL, sl
我想转换任何标题,例如一个用户友好的 url 的博客条目。我用了rawurlencode()这样做但它给了我很多奇怪的字符串,比如 %s。 该算法应考虑 Ö、Ä 等德语字符。我想从标题创建一个 url
我想捕获 URL 中的第一个 slug仅限 如果 URL 有一个 slug,如果它在 URL 中有多个 slug 或部分,则忽略它。例如: https://example.com/path/some-
我有一种情况,在 url 的底部我有一个动态 slug 来获取数据。现在我发现我需要一个静态 slug,这将表示一个不同的页面,但仍然可以访问基本动态 slug 以获取信息。 示例路径 /formAB
我正在开发一个简单的博客来学习 Django。我希望每个帖子都有一个这样的路径: /category-1/title-post /category-2/title-post etc.. 低于urls.
该网站非常简单,只有 3 页,主页和 urls.py 中显示的第二个 url 效果很好,但是当我从主题转到单元页面时,我得到: TypeError at /subjects/units/english
在我一直在开发的应用程序中,我遇到了像 /books/:slug, :to => 'books#show', slug:/.*?/ 这样的路由。我很好奇这部分的作用 slug:/.*?/ ? 最佳答案
我尝试使用此查询更改特定帖子的帖子别名: UPDATE wp_posts SET post_name = replace(post_name, 'make-me-happy','make-me-hap
我尝试使用 HarpJS,一个 NodeJS 静态博客生成器。在教程中有这样的元数据示例: for article, slug in public.articles._data a(href="/a
我是一名优秀的程序员,十分优秀!