使用 PHP 替换 WordPress 插件图标



我正在尝试使用PHP更改WordPress插件中的星级图标。我做了一些研究,发现该插件有一些钩子和过滤器可供使用:

钩子:wprm_recipe_rating_star_icon
属性:$icon
描述:空星级图标的用法

钩子:wprm_comment_rating_star_full_icon
属性:$icon
说明:全星级图标使用什么

我已经尝试了一些基本的PHP,但它似乎不起作用。我错过了什么??

// Inject custom star rating icon
add_filter( 'wprm_comment_rating_star_full_icon', 'custom_star_icon', 10, 1 );
function custom_star_icon() {
$icon = 'http://example.com/mb.svg';
return $icon;
}
add_filter( 'wprm_recipe_rating_star_icon', 'custom_empty_star_icon', 10, 1 );
function custom_empty_star_icon() {
$icon = 'http://example.com/mb-empty.svg';
return $icon;
}

它给了我以下错误:

警告:call_user_func_array(( 期望参数 1 是有效的回调,找不到函数 'custom_star_icon' 或/wp-include/class-wp-hook 中的函数名称无效.php第 286 行

我设法自己找到了答案。这实际上很容易。我只需要回显出 SVG 图标。

function recipe_custom_icon( $icon ) {
$custom_icon = '<img src="https://example.com/wp-content/uploads/2019/10/mb.svg" style="vertical-align: middle; width: 26px; height: auto; margin: 0;">';
return $custom_icon;
}
add_filter( 'wprm_comment_rating_star_full_icon', 'recipe_custom_icon', 10, 1 );
function recipe_empty_custom_icon( $icon ) {
$empty_custom_icon = '<img src="http://example.com/wp-content/uploads/2019/06/m.svg" style="vertical-align: middle; width: 26px; height: auto; margin: 0;">';
return $empty_custom_icon;
}
add_filter( 'wprm_recipe_rating_star_icon', 'recipe_empty_custom_icon', 10, 1 );