2012-09-06 67 views
0

最好的解決方法,在Wordpress中建立一個腳本來改變後保存超鏈接結構。檢查超級鏈接保存

場景:的作者創建超鏈接<a href="http://www.example.com"></a>崗位,並節省,如果對滿足一定條件的超鏈接重定向或不保存將被控制。如果網址必須重定向,而不是改變其結構<a href="goto.html?url=http://www.example.com"></a>,並將其推送到數據庫中。我想避免的是不要強迫作者注意鏈接創建。

回答

0

您可以直接在save_post鉤添加動作,並解析內容修改鏈接(使用DOM解析器,或正則表達式)。

但是imo修改發佈內容並不是一個好主意,您應該只在顯示帖子時修改鏈接(使用the_content過濾器)。

編輯:

例如:

add_filter('the_content', 'my_content'); 
function my_content($content){ 
    ... 
    return $content; 
} 
+0

這聽起來不錯,你建議。這意味着我必須在我的模板結構中構建一個函數? – lgt

+0

回答更新,其他示例:GIYF。 – soju

+0

非常感謝你讓我的一天 – lgt

0

您可以僅清理href=""值。

preg_replace('/<a(.*)href="([^"]*)"(.*)>/','<a$1href="goto.html?url=$2;"$3>', $postcontent); 
+0

感謝您的反饋,感謝您的代碼,但我感興趣的解決方法:你怎麼這個帖子之前,(你的代碼)越來越保存在wp_posts表中 - > post_content – lgt

+1

嘿。不要在數據庫中保存這種方式。保留用戶的內容,並在顯示時應用此內容。 :) –