在使用Wordpress的域根/wp-admin/options-permalink.php
处(否 .htaccess
),第一个选项(标准选项)正常运行,http://www.example.com/?p=123
所以我认为可以在自定义选项中重现(仅重现)完全相同的东西...我尝试/?p=%post_id%
,?p=%post_id%
和许多其他的东西,总是效果导航为/post-name/
不是?p=id
...所以,不起作用?我需要在"自定义结构"的表单框中复制/粘贴到底是什么?选项?
我正在使用新的wordpress,v4.4
PS:https://codex.wordpress.org/Settings_Permalinks_Screen
没有线索为什么?
因为"自定义永久链接"不工作....或者,事实上,它不适用于Wordpress?
这是一个技术证明,在工作时我可以做任何事情。
示例:需要哈希,?p=%post_id%#post-%post_id%
非常重要,用于跳转幻灯片放映,以及scrool到页面标题。
在此示例中问题不是一种Apache权限或重写模式,?p=123#post-123
在任何上下文中工作正常(!),因此,Wordpress必须符合所需的& #34;自定义固定链接"。
答案 0 :(得分:2)
这是一个有趣的问题,但几乎所有你想要的东西都是不可能的。
使用%post_id%两次:
在wp-includes/class-wp-rewrite.php
,第558行(WP 4.4),我们有一个for循环,如果已找到并使用%post_id%
,则会中断。代码是:
preg_match_all('/%.+?%/', $this->permalink_structure, $tokens);
$tok_index = 1;
foreach ( (array) $tokens[0] as $token) {
if ( '%post_id%' == $token && ($tok_index <= 3) ) {
$front = $front . 'date/';
break;
}
$tok_index++;
}
使用&#39;#&#39;:
在wp-admin/options-permalink.php
中,当wp保存用户输入时,我们有这行代码:
$permalink_structure = preg_replace( '#/+#', '/', '/' . str_replace( '#', '', $permalink_structure ) );
str_replace
使用`#&#39;炭。
该屏幕的目的:
Wordpress使用该配置屏幕(1)为用户提供使用漂亮链接的选项,以及(2)让用户有机会选择他的帖子永久链接结构。 Worpress本身处理了许多不可能改变的重写规则,除非你使用它url rewrite functions。例如,页面和自定义帖子的处理方式不同。
您可以尝试添加/index.php?p=%post_id&var=%post_id%
作为自定义结构,以查看发生的魔法(不是),但请记住:它只适用于帖子。
希望它有所帮助。