我们使用Wordpress作为知识库。我们刚刚将mediawiki和jekyll留给Github页面,并将不同系统的数量从四个减少到了一个。一个Wordpress安装用于博客,三个Wordpress安装用于三种不同产品的三个不同知识库。优点是编辑只需要掌握一个系统,而不是三个。
我们已经将permalinks设置为/%postname%/这使得Web链接更加合理。在大多数页面中,我们使用编辑器添加到其他知识库页面的链接。在弹出窗口中,我们选择要链接到的页面。永久链接将添加到页面中。由于我们不断地在知识库上工作,因此会发生postname更改的情况。这将导致链接到已更改帖子的internel知识库页面出现错误404。
因此,我想添加页面id(?p=123),而不是帖子名称。当在前端点击链接时,Wordpress似乎足够聪明,可以将页面id重写为/%postname%/优点是我不必更改每个页面中的链接。(或者这也可以自动完成?)
最合适的回答,由SO网友:Katrina 整理而成
将其添加到您的函数中。php:
function wp_link_query_mod ( $results ){
if( count( $results ) ){
for( $i=0; $i<count($results); $i++ ){
$results[$i][\'permalink\'] = wp_get_shortlink( $results[$i][\'ID\'] );
}
}
return $results;
}
add_filter(\'wp_link_query\', \'wp_link_query_mod\');
这个钩子只有在WP 3.7之后才可用,如果您有一个早期版本,那么还有一个替代方案,但这意味着在WP核心文件中更改一行。