簡體   English   中英

WordPress的get_permalink重寫

[英]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_folderwordpress的安裝文件夾

我希望這對某人有用,我幾乎花了兩天時間尋找解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM