2014-02-05 57 views
1

有沒有辦法重新生成永久鏈接的工作方式?我的意思是無處不在博客(所有插件&東西使用get_permalink())。WordPress的get_permalink重寫

我想替換像http://domain.com/wordpress/post_type/post各個環節http://domain.com/post_type/post

重寫規則&東西被htaccess的完成,所以如果我訪問http://domain.com/post_type/post形式地址欄中它的作品,所以我只需要改變的方式如何get_permalink()去。

注意:我無法移動/wordpress/文件夾以外的文件,因爲它的根目錄中有另一個html模板。注意2:我試着用regexp重定向301,我得到重定向循環。因此,也如果沒有與htaccess的改變它的方式也將是巨大的

非常感謝

+1

可能這將幫助你... 'http:// shibashake.com/wordpress-theme/wordpress-permalink-add' –

回答

1

我終於找到了。如果你正在檢查覈心,你會看到所有的過濾器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_typehttp://domain.com/custom_post_type

你也可能需要這在你的根的.htaccess(在根文件夾,而不是WordPress的文件夾)

RewriteEngine On 

RewriteRule ^blog([^'"]+)?$ ./wordpress_folder/blog/$1 

博客是自定義後類型名稱和wordpress_folder是的安裝目錄文件夾WordPress的

我希望這將是對別人有用,我幾乎花兩天時間尋找一個解決方案