[英]Wordpress get_permalink rewrite
有沒有辦法重新生成永久鏈接的工作方式? 我的意思是博客中的每個地方(所有使用get_permalink()
插件和東西)。
我想將所有鏈接(例如http://domain.com/wordpress/post_type/post)替換為http://domain.com/post_type/post
重寫規則和內容是由htaccess完成的,因此,如果我訪問http://domain.com/post_type/post表單地址欄,它將起作用,因此,我只需要更改get_permalink()
的運行方式get_permalink()
。
注意:我無法將文件移到/ wordpress /文件夾之外,因為在其根目錄中還有另一個html模板。
注意2:我用regexp嘗試了301次重定向,我得到了重定向循環 。 因此,如果有一種方法可以通過htaccess進行更改,那就太好了
非常感謝
我終於找到了。 如果您正在檢查核心,則會看到所有過濾器https://core.trac.wordpress.org/browser/tags/3.5/wp-includes/link-template.php 。 對於自定義帖子類型,它是post_type_link
過濾器,對於帖子,則是post_link
。 如果您要閱讀代碼,則有很多有用的東西。 我的問題的解決方案是:
define( 'SERVER_ROOT', 'http://' . $_SERVER['SERVER_NAME'] );
define( 'INSTALL_URL', site_url() );
add_filter( 'post_type_link', 'pleasure_post_links', 99 );
function pleasure_post_links( $permalink ) {
return str_replace( INSTALL_URL , SERVER_ROOT, $permalink);
}
上面的代碼將使http://domain.com/wordpress_folder/custom_post_type
鏈接到http://domain.com/custom_post_type
。
另外,您可能需要在根.htaccess中使用此文件(在根文件夾中,而不是wordpress文件夾中)
RewriteEngine On
RewriteRule ^blog([^'"]+)?$ ./wordpress_folder/blog/$1
其中博客是自定義帖子類型的名稱,而wordpress_folder是wordpress的安裝文件夾
我希望這對某人有用,我幾乎花了兩天時間尋找解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.