Questions tagged «permalinks»

指向项目的永久链接(博客文章,附件等)。默认结构是“?p = 123”,但是WordPress可以处理“漂亮的永久链接”,并将内部将其重写为以前的版本。如果您对特殊的重写结构有疑问,则应使用[url-rewriting]标记。

1
如何在/ blog /前添加帖子永久链接-不影响自定义帖子类型?
我有几种自定义帖子类型,它们的结构正确地为/%post_type%/%postname%/,但是我希望对常规博客条目具有相同的效果:/blog/%postname%/ 如果我在永久链接结构之前加上/blog/它也会影响自定义帖子类型,那么目前我的永久链接结构很简单/%postname%/ 建议使用哪种方法?我有一个涉及一些重写的​​解决方案,但是帖子编辑器区域中显示的固定链接无法反映出来。


1
带有额外查询变量的搜索结果相当固定
我想知道如何使用wp_redirect和template_redirect钩子将搜索URL重写为一个漂亮的永久链接,其中还包含一个额外的查询变量。 我已经从Nice Search插件中获取了代码,可以很好地将其更改http://example.com?s=africa为http://example.com/search/africa: add_action( 'template_redirect', 'my_rewrite' ) ); function my_rewrite() { if ( is_search() and false === strpos( $_SERVER['REQUEST_URI'], '/search/' ) ) { wp_redirect( get_bloginfo( 'home' ) . '/search/' . str_replace( ' ', '+', str_replace( '%20', '+', get_query_var( 's' ) ) ) ); exit(); } } 但是我将选择下拉列表与Relevanssi插件结合使用,以允许访问者将搜索范围缩小到特定的帖子类型。这将添加一个post_type查询变量,例如http://example.com?s=africa&post_type=features。我希望它有一个类似的网址http://example.com/search/africa/section/features。 尼斯搜索代码会导致post_type查询变量丢失。所以我尝试了以下代码: function my_rewrite() …

3
将.html(点HTML)扩展名添加到自定义帖子类型
有没有办法在没有插件的情况下将.html扩展名添加到自定义帖子类型? 对于我可以/%postname.html在永久链接设置上使用的帖子 对于页面,我可以使用: add_action('init', 'change_page_permalink', -1); function change_page_permalink() { global $wp_rewrite; if ( strstr($wp_rewrite->get_page_permastruct(), '.html') != '.html' ) $wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html'; } 对于自定义帖子类型??? 是否有类似于上面的代码片段允许我更改或添加.html自定义帖子类型url?

1
更改帖子的永久链接,但不更改自定义帖子类型
目前,我的帖子固定链接结构是 domain.com/post-title 我正在使用静态首页和用于帖子的“博客”页面。我想将帖子,标签和类别的永久链接结构更改为 domain.com/blog/post-title 我可以轻松地在永久链接结构中添加/ blog /,但要注意的是,我的自定义帖子类型也获得了这种修改后的永久链接结构,这并不是理想的结果。 提前致谢!

2
在mu-plugins插件中为flush_rewrite_rules自定义帖子类型的最佳方法?
我正在编写一个实例化自定义帖子类型的插件(除其他外)。它是一个多站点插件,位于目录mu-plugins中。 在这种情况下处理flush_rewrite_rules()的最佳实践是什么?对于“普通”插件,您可以在激活钩子中进行此操作-对于必需使用的插件将无法实现,因为这些钩子不可用。 由于这应该是在注册自定义帖子类型之后的“一次性”事件,因此在我注册CPT的类中做这样的事情是否有意义: private function check_flush_my_CPT() { global $wp_rewrite; if ( !get_option('my_plugin_firstrun') ) { $wp_rewrite->init(); $wp_rewrite->flush_rules(true); update_option('my_plugin_firstrun', 'yes'); } } public function register_my_CPT() { // do all the CPT setup steps for the $args array... register_post_type('my_CPT', $args); $this->check_flush_my_CPT(); } add_action( 'init', array(&$this, 'register_my_CPT' ) ); 因此,CPT注册发生在每个“ init”操作上-但如果我有此权利,则重写规则刷新仅发生一次。 曾经。 我在正确的轨道上吗? (编辑):我刚刚尝试过;我的CPT显示404错误,因此重写规则不起作用:-( …


2
为语言创建自定义的永久链接结构
我编写了一个简单的多语言系统,其中单击一个标志图标可以设置一个包含两个字母语言代码(例如nl,de等)的一年cookie。 我加入了wp操作以读取Cookie值,然后使用the_title和the_content过滤器显示正确的语言(通过页面/帖子编辑屏幕上的元框输入不同的语言)。 这一切都很好,除了我还希望每种语言版本都有一个永久链接,即两个字母的语言代码位于域名和通常的永久链接结构之间。我使用的是%postname%永久链接结构,因此以下所有内容均有效: http://example.com/nl/about-us http://example.com/de http://example.com/fr/2012/03 http://example.com/es/this-is-a-post-title 如果当前语言是英语,则不应使用两个字母代码(它将是常规的永久链接)。 到目前为止,我已经使用query_vars过滤器添加了一个名为的查询变量lang,但这已经远远不够了,我不确定下一步是什么。任何建议,不胜感激!

3
带有自定义链接的嵌套自定义帖子类型
我试图建立一个具有永久链接的多级自定义帖子类型结构authors/books/chapters,其作者,书籍和章节均设置为自己的自定义帖子类型。例如,此网站上的典型URL可能看起来像example.com/authors/stephen-king/the-shining/chapter-3/ 每章只能属于一本书,每本书只能属于一位作者。我考虑过使用分类法代替作者和书籍的CPT,但是我需要将元数据与每个项目相关联,为此我更喜欢发布界面。 在大多数情况下,我都会通过简单地将每个自定义帖子设置为CPT上一级条目的子级来实现。例如,我创建“第3章”,并使用自定义元框将“发光”指定为父对象。“ The Shining”又将“ Stephen King”作为父母。建立这些关系我没有任何麻烦。 我在CPT子弹中使用了重写标签,并且永久链接想要工作,但它们不太正确。使用重写分析器,我可以看到重写规则实际上是生成的,但是它们似乎顺序不正确,因此其他规则将首先处理。 这是我注册我的CPT的方式: function cpt_init() { $labels = array( 'name' => 'Authors' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'author', 'with_front' => FALSE, ), …

6
带有/%postname%/ permastruct的Wordpress 3.3自定义帖子类型?
以前有一个标题相似的帖子,但它没有浏览WordPress 3.3,这一点很重要,因为3.3有趣地做广告:“使用postname永久链接结构,而不会降低性能” Wordpress 3.2和更早版本的问题是,它首先查看页面名称,然后是404。它没有首先检查任意帖子类型。另一方面,3.3 必须查看帖子类型,然后是页面,最后是404(因为它宣传了此功能)。这意味着,如果没有在某处进行硬编码,则没有的自定义帖子类型应该很简单post_type=post。 我还找不到3.3特定的解决方案。 问题:如何为任何给定的自定义帖子类型“ xyz”定义永久链接结构“ /%postname%/”? 谢谢。

3
自定义帖子类型和分类的WordPress重写规则
过去,由于对我遇到的问题进行了大量的Google搜索,因此我发现该位置过去是很好的信息来源。我的问题与WordPress使用的详细重写规则有关。 我已经建立了一个自定义后类型,称为项目,而且我已经注册了一个名为自定义分类项目。除了rewrite slug选项,所有其他方法都很有效,因为它们最终会发生冲突-很有可能是由于rewrite规则所致。 基本上,这就是我要实现的结构: example.com/work/%taxonomy%/%post_name%/ (用于帖子) example.com/work/%taxonomy%/ (列出属于特定分类术语的帖子) example.com/work/ (转到包含taxonomy.php的page-work.php,以列出与该分类法相关的所有帖子) 这是我到目前为止的代码,但是我需要编写WP_Rewrite规则的帮助,因为这有点让我感到困惑。 $labels = array( 'name' => _x('Projects', 'post type general name'), 'singular_name' => _x('Project', 'post type singular name'), 'add_new' => _x('Add New', 'project item'), 'add_new_item' => __('Add New Project'), 'edit_item' => __('Edit Project'), 'new_item' => __('New Project'), 'view_item' => __('View …


3
我可以使用固定链接格式的REST-API吗?
最近,我所有的REST-API请求突然转为返回404错误,每个请求(无论是自定义端点还是内置)。 然后我发现这是由于永久链接的结构。/wp-json/在纯固定链接下无法访问,因为目前根本没有可用的重定向规则。 在这种情况下可以使用REST端点吗?自定义和内置。

2
自定义帖子类型固定链接/重写无法立即生效
用以下方法打砖墙: 我有: 1个自定义帖子类型称为 cpt_community 1个自定义分类法 tax_community 如果我'rewrite' => true在CPT注册中进行了设置,则此CPT条目的永久链接为形式http://<domain>/cpt_community/test_item/,并且浏览至此时会得到404。 如果设置了 'rewrite' => false,则永久链接为http://<domain>/?cpt_community=test_item/,并且效果很好。 所以,我显然做错了/愚蠢的-问题是,什么? [更新] 每次更改后,我都会通过转到“设置”>“永久链接”(并保存)来刷新规则 将所有内容搁置一个小时后,一切都开始正常工作-那么为什么要延迟呢? 码 CPT注册 function community_post_type() { $labels = array('name' => 'Community'); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => …

2
如何获得隐私政策页面?
在更新GDPR之后,WordPress现在在设置下有一个名为“隐私策略”的选项,您可以使用该页面作为您的隐私策略页面。 如何获得此页面的ID或永久链接以在主题或插件中使用?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.