需要帮助来编辑WordPress插件以动态显示用户社交媒体图标

时间:2018-12-14 16:37:38

标签: php wordpress

我正在编辑一个名为UsersWP的WordPress插件。它是一个供用户创建个人资料并在网站上发布内容的插件。该插件具有一些输入表单字段,我可以拖放这些字段,以便用户可以插入信息并上传文件。

唯一的问题是,它没有供用户输入其社交媒体配置文件帐户链接的输入字段。我可以做到的唯一方法是使用URL输入字段,并从“管理”面板为其指定一个特定于该字段的Font Awesome图标。但是此方法还返回前端图标旁边的url字符串。我不希望它那样做。

我想要的是用户输入指向其社交媒体资料的链接,将该链接插入定位标记,并将其作为前端的可点击图标返回。现在的问题是我不知道如何返回图标。

下面的脚本来自另一个名为class-profile.php的文件:

// URL
    if ($field->field_type == 'url' && !empty($value)) {
        $link_text = $value;
        // if deafult_value is not url then it will be used as link text. 
        if ($field->default_value && !empty($field->default_value) ) {
            if (substr( $field->default_value, 0, 4 ) === "http") {
                $link_text = $value;
            } else {
                $link_text = $field->default_value;
            }
        }
        if (substr( $link_text, 0, 4 ) === "http") {
            $link_text = esc_url($link_text);
        }

        $value = '<a href="'.$value.'">' . '<i class="uwp_field_icon ' . uwp_get_field_icon( $value ) . '"></i>' . '</a>';
    }

这是一个名为fields.php的文件:

function uwp_get_field_icon( $icon_value ) {
$field_icon = $icon_value;

if ( ! empty( $icon_value ) ) {
    if ( strpos( $icon_value, 'http' ) === 0 ) {
        $field_icon = ' '. $icon_value .' <span class="uwp_field_icon" style="background: url(' . $icon_value . ') no-repeat left center;padding-left:14px;background-size:100% auto;margin-right:5px"></span>';
    } else if ( strpos($icon_value, ' fa-') !== false ) {
        $field_icon = '<i class="uwp_field_icon ' . $icon_value . '"></i>';
    }
}

return apply_filters( 'uwp_get_field_icon', $field_icon, $icon_value );

}

这就是HTML格式的结果。 1

这应该返回一个图标。如何在i标签内插入“超赞字体”图标类?

0 个答案:

没有答案