想法是如果用户选择主题中的选项,则应用一些过滤器,但我有一个问题
我制作了一个函数,将post\\u thumbnail\\u html替换为个性化html
然后,我创建了其他为timthumb创建thumnails的函数
我正在尝试将add\\u过滤器应用于timthumb函数,但它不起作用,因为它不是wordpress挂钩
你能帮我吗?
function kandombe_theme_thumb($id, $width, $height, $align=\'\') {
//some code
$html = \'<img class="archive_thumb" src=\'.$image_url.\' width="\'.$width.\'" height="\'.$height.\'"/>\';
return $html;
}
if ($data[\'speed_lazy_loading\']) {
function kandombe_lazy_loads( $html ) {
//some code
$html = preg_replace( \'#<img([^>]+?)src=[\\\'"]?([^\\\'"\\s>]+)[\\\'"]?([^>]*)>#\', sprintf( \'<img${1}src="%s" data-original="${2}"${3} style="display: block;"><noscript><img${1}src="${2}"${3}></noscript>\', $placeholder_image ), $html );
return $html;
}
add_filter( \'the_content\', \'kandombe_lazy_loads\');
add_filter( \'post_thumbnail_html\', \'kandombe_lazy_loads\');
add_filter( \'kandombe_theme_thumb\', \'kandombe_lazy_loads\');
add_filter( \'get_avatar\', \'kandombe_lazy_loads\');
}
SO网友:s_ha_dum
假设:add_filter( \'kandombe_theme_thumb\', \'kandombe_lazy_loads\');
-- 就是你所说的线/钩。
您不需要连接到函数。这不是它的工作原理。挂钩必须使用apply_filters
或do_action
. 您的代码必须这样编写才能正常工作:
function kandombe_theme_thumb($id, $width, $height, $align=\'\') {
//some code
$html = apply_filters(
\'kandombe_theme_thumb\',
\'<img class="archive_thumb" src=\'.$image_url.\' width="\'.$width.\'" height="\'.$height.\'"/>\'
);
return $html;
}
相关
https://wordpress.stackexchange.com/a/103644/21376