Questions tagged «url-rewriting»

指通过操纵URL来创建WordPress中所谓的“漂亮的永久链接”的过程。

1
自定义分类法和页面重写段冲突给404
我正在使用“自定义帖子类型” UI插件来创建我的自定义分类法。我有一个由项目(自定义帖子类型)和2个技术和客户自定义分类法组成的投资组合。客户分类标准具有的自定义重写段portfolio/clients/,而技术分类标准具有的自定义重写段。portfolio/ 重写: portfolio/html <-页面显示使用HTML的所有项目 portfolio/clients/client-a<-页面显示客户端A的所有项目 现在,当我尝试为网址为slug的客户端创建登录页面时,/portfolio/clients我会看到404页面。我很确定这是由于技术分类法的URL重写冲突。我猜是因为它在技术分类法中进行搜索,所以它不存在,然后吐出了404页。那么,如何使url重写插件起作用,以便在我单击时/portfolio/clients,它不会发送回404页面,并且使用正确的页面模板?

1
将作者基础信息更改为不同的角色
是否可以根据他的角色来更改作者的基本资料?例如,作者获得example.com/ninja/%username%,订户获得example.com/trainee/%username%? 我在想类似的东西: add_action('init', 'set_new_author_base'); function set_new_author_base() { global $wp_rewrite; if($user->role == 'subscriber') $author_slug = 'trainee'; $wp_rewrite->author_base = $author_slug; } elseif($user->role == 'author') { $author_slug = 'ninja'; $wp_rewrite->author_base = $author_slug; } } 如果未注册的访问者浏览该网站,则该方法应该适用;对于已登录的作者和订阅者本身,该方法也应适用。

1
存档页面和单个帖子的自定义重写规则
我正在用几种自定义帖子类型构建一个Wordpress网站。每个职位类型都是不同的杂志。我也有杂志年份和期刊的自定义元字段。 我想拥有网址(使用archive.php): http://my_site/magazine/name/ http://my_site/magazine_name/year/ http://my_site/magazine_name/year/issue/ 我是通过代码实现的: function magazine_rewrite_tag() { add_rewrite_tag('%issue_year%', '([0-9]{4})'); add_rewrite_tag('%issue%', '([0-9])'); } add_action('init', 'magazine_rewrite_tag', 10, 0); 和: function magazine_rewrite_rules() { add_rewrite_rule('^([a-z]+)/([0-9]{4})/([0-9])?', 'index.php?post_type=$matches[1]&issue_year=$matches[2]&issue=$matches[3]', 'top'); add_rewrite_rule('^([a-z]+)/([0-9]{4})?', 'index.php?post_type=$matches[1]&issue_year=$matches[2]', 'top'); } add_action('init', 'magazine_rewrite_rules'); 当然,我在archive.php中也有一个自定义查询。而且效果很好。 但是现在,我的单篇文章网址不起作用。默认情况下,它是: http://my_site/magazine/post-title 但它显示了杂志中的所有文章,例如url(并且使用了archive.php模板): http://my_site/magazine/ 如何为单个自定义帖子添加正确的重写规则?我可能想以这种格式为单个帖子(仅针对选定的自定义帖子类型)提供网址: http://my_site/magazine/year/issue/post-title

3
如何在永久链接中使用add_query_arg获取漂亮的URL
通过add_query_arg()它可以很好地向URL添加其他参数,并且轻松创建重写规则。到目前为止,一切都很好。但是问题是由wordpress完成的URL替换。 当我有一个网址时,例如: www.mysite.com/?page_id=1&myvar=test 并使用激活的永久链接将此URL键入浏览器的地址栏中。该链接将变为: www.example.com/pagename/?myvar=test 但是:我想得到的是: www.example.com/pagename/test 最后,我想使用如下代码: <a href="<?php add_query_arg( 'myvar', 'test', get_permalink() ) ?>"> .... </a> 这将导致: www.example.com/pagename/test 如何做到这一点?我已经花了几个小时阅读文档,却找不到解决方案。

1
如何从3.5.2中的分层自定义类型中删除段符
我知道不建议这样做,并且关于此论点的讨论很多。不幸的是,经过一周的尝试和测试,我还没有从我的自定义类型中删除该标签。情况如下: 我需要的网址结构 发布/ blog / my-blog-post [确定!] 页/ parent-service / service [确定!] 投资组合/投资组合/我的第一手工作 [确定!] 静态/ parent-static-page / static-page [<<< ---这是问题所在] 我的配置 WordPress的3.5.2 自定义类型“静态”:分层;没有任何“重写”规则。 自定义类型“投资组合”:不分层;'重写'=>数组('with_front'=> false) 固定链接结构:/ blog /%postname%/ 作为首页,我将静态页面设置为“博客” 问题 发表博客/ my-blog-post [确定!] 页面/ websites / dynamic-sites [确定!] 投资组合/投资组合/我的第一手工作 [确定!] 静态/ who-i-am / terms [<<< ---这是问题所在] 我尝试过的 没有 最初,“ static”帖子“ …


1
如何从现有的永久链接中删除日期?
在对博客上的日期进行了一些研究之后,将其从现有帖子中删除似乎是一个好主意。 考虑: 自托管(在Bluehost上) 现有职位超过1000个 所有帖子均由Google编制索引,其中许多链接都来自其他域。许多帖子都链接到博客中。不想断开链接。 不想失去Pagerank或Google内帖子的年龄。这非常重要,因为大多数流量都来自Google,而且许多网页的排名都不错。 当前的URL是: http://www.thedomain.com/blog/2012/07/01/blah-blah-blah-blah/ 新网址应为 http://www.thedomain.com/blah-blah-blah-blah/ 我知道可以用ModRewrite完成,但这是最好的方法吗?Google会知道这是同一篇文章吗? 是否可以更改永久链接?

1
自定义帖子类型固定链接端点
我有一个称为“目的地”的自定义帖子类型,并且已将帖子类型的EP掩码设置为默认EP_PERMALINK。我添加了两个端点,如下所示: add_filter( 'query_vars', 'add_query_vars'); function add_query_vars($vars){ $vars[] = "tours"; $vars[] = "activities"; return $vars; } add_action('init', 'add_endpoints'); function add_endpoints(){ global $wp_rewrite; add_rewrite_endpoint('tours', EP_PERMALINK); add_rewrite_endpoint('activities', EP_PERMALINK); $wp_rewrite->flush_rules(); } 现在,如果我在普通帖子上对此进行测试,它将重定向到我需要它的模板(我为单个模板挂钩提供了模板重定向) 即。somesite.com/test-category/test/activities/ 但是对于帖子类型(分层的),它只是从网址中删除了端点,并停留在single-destination.php模板上 即。somesite.com/destination/south-africa/kruger-national-park/activities/ 变成 somesite.com/destination/south-africa/kruger-national-park/ 任何帮助或指导将不胜感激。我已经为此努力了几个小时,没有结果:( 谢谢

1
张贴网址结构,例如site.com/category/the-post-title
我是新手,因此wordpress,我想更好地了解,是否可以根据category,然后根据,使用url创建网页post title,因此: 类似http://mysite.com/category-name/the-post-title 或http://mysite.com/category-name/12345(帖子ID) 或http://mysite.com/category-name/12345/the-post-title 是否存在某些插件可以执行此操作,或者我应该考虑其他方式url_rewrite来执行此操作?

1
自定义帖子类型,无需单一视图,并且希望永久链接重写为在URI中包含哈希
我们正在使用CPT来管理网站上的常见问题页面,其中问题是帖子标题,答案是帖子内容。FAQ的主页显示了所有帖子(FAQ存档页面)。通过这种结构,我们确实不需要任何FAQ的单一视图,并且实际上希望从站点结构中忽略它。为了解决永久链接,我们希望将它们设置为例如example.com/faq/#uniqueIdentifier,认为我们将使用#uniqueIdentifier匹配包含答案的存档页面上的div,并在某些情况下引起注意时尚。uniqueIdentifier可以是帖子ID,常见问题标题,来自meta框的数据或其他内容。 因此,让我回顾一下我们需要完成的工作: (1)将常见问题的永久链接重写为/ faq /#something,然后 (2)确保所有/ faq /链接都路由到存档模板,而不是单个 我主要是菜鸟,但擅长摸索事物。尽管从未尝试过任何重写,所以希望对此有一些特别的指导。 谢谢。
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.