2012-10-31 48 views
0

我有一個照片組合site.when single.php頁面上的圖像被點擊時調用the_content()函數,用戶被重定向到實際的目錄圖像 例如; http://www.abcxyz.com/wp-content/uploads/2011/10/311565_33735319633456038_270235255_n.jpg我如何刪除由the_content()函數獲得的圖像的href鏈接

我希望用戶被重定向到圖像上的下一個/其他帖子,並且'我沒有獲取需要更改的核心wordpress文件中的錨標籤,任何人都可以幫忙嗎?

+0

使用錨標記'' –

+0

它就像the_content()函數帶來了所有的東西。我無法找到源..如果你知道,然後告訴我,我需要改變錨標籤的位置。 –

回答

2

好吧,所以我想做這個WordPress的風格,而不是用jQuery破解它。所以這裏是你可以在你的functions.php中使用的。我認爲它應該做你希望做什麼:

function my_the_content_filter() { 
$content = get_the_content(); 
$nextpost = get_permalink(get_adjacent_post(false,'',false)); 

$body = preg_replace("{<img\\s*(.*?)src=('.*?'|\".*?\"|[^\\s]+)(.*?)\\s*/?>}ims", '<a href='.$nextpost.'><img $1src=$2 $3/></a>', $content);  

return $body; 
} 
add_filter('the_content', 'my_the_content_filter'); 

因此函數my_the_content_filter抓住文章的內容和接下來的文章中的鏈接。使用正則表達式來替換內容中包含圖像的hrefs與下一篇文章的鏈接。然後您將過濾器添加到the_content函數。

希望能爲你服務!

0

首先,我認爲你在做什麼可能會有點冒失,你可能知道這一點,所以我會提出一個想法。

您可以檢索下一個帖子的網址與get_next_posts_link();

您可以附加到一個數據屬性,它包裝該職位相關的元素。假設帖子包裝了div或文章標籤,您可以爲其添加data-nextpostlink屬性。

那麼你可以使用jQuery在帖子中查找圖像,很容易就可以用下一篇文章鏈接重新編寫鏈接,你可以從data-nextpostlink屬性中獲取該鏈接。

正如我所說這是hacky,絕不是理想的。但是如果你想這樣做,那麼你可以嘗試這樣的事情。

另一個想法可能是WordPress術語中更好的做法是使用add_filter並修改函數。您可能需要使用一些正則表達式來識別the_content函數中的圖像。

相關問題