我在网上搜索过一堆,发现一些片段都指向同一个过滤器'wp_get_attachment_link',但由于某种原因它无效。
也许是WP Core中的一个错误? 它应该很简单..只需获取url标记并附加固定类。
function add_custom_class( $link ) {
global $post;
return str_replace( '<a href', '<a class="test" href', $link );
}
add_filter( 'wp_get_attachment_link', 'add_custom_class' );
修改 这有效!
function my_custom_imglink_class( $html, $id, $caption, $title, $align, $url, $size, $alt = '' ) {
$classes = 'image-popup';
if ( preg_match( '/<a.*? class=".*?">/', $html ) ) {
$html = preg_replace( '/(<a.*? class=".*?)(".*?>)/', '$1 ' . $classes . '$2', $html );
}
else {
$html = preg_replace( '/(<a.*?)>/', '$1 class="' . $classes . '" >', $html );
}
return $html;
}
add_filter( 'image_send_to_editor', 'my_custom_imglink_class', 10, 8 );