问题描述:
我需要从我的页面上的图像中删除链接,但只能删除特定网页上的所有链接,或删除网站上的所有链接,除少数页面标识或页面蛞蝓。删除图片<a>来自特定页面ID或页面slu in的链接
我有删除链接的代码,但我不能添加到例外:
add_filter('the_content', 'attachment_image_link_remove_filter');
function attachment_image_link_remove_filter($content) {
$content =
preg_replace(
array('{<a(.*?)(wp-att|wp-content\/uploads)[^>]*><img}',
'{ wp-image-[0-9]*" /></a>}'),
array('<img','" />'),
$content
);
return $content;
}
答
你必须使用WordPress的条件函数is_page()
:
add_filter('the_content', 'attachment_image_link_remove_filter');
function attachment_image_link_remove_filter($content) {
// Set your exception pages in here
if(!is_page(array(42, 48, 55))) {
$content = preg_replace(
array('{<a(.*?)(wp-att|wp-content\/uploads)[^>]*><img}',
'{ wp-image-[0-9]*" /></a>}'),
array('<img','" />'),
$content
);
return $content;
}
}
您可以使用页面ID或页面slu like如"contact-us"
...
----(更新后添加缺失)
在if(!is_page(array(42, 48, 55))) {
)----
答
更一般比的ID mentioned in LoicTheAztec's answer是例如。自定义(元)字段。
function bw_content($content)
{
if (get_post_meta(get_the_ID(), 'bw_remove_image_links', true) == 1) {
$content = preg_replace(array(
'{<a(.*?)(wp-att|wp-content\/uploads)[^>]*><img}',
'{ wp-image-[0-9]*" /></a>}'
), array(
'<img',
'" />'
), $content);
}
return $content;
}
add_filter('the_content', 'bw_content');
谢谢,但这个例子不适用于我,我有一个错误,当我把它粘贴到我的functions.php,你能检查代码? – TomaszKub
好吧,我解决了这个问题: add_filter('the_content','attachment_image_link_remove_filter'); 功能attachment_image_link_remove_filter($内容){// 设置你的例外页,这里 如果(!is_page(阵列(42,48,55))){$ 内容=的preg_replace( 阵列(“{] *>
} '), 阵列('
“), $内容 \t \t); } return $ content; } –
TomaszKub