禁用媒体 WordPress 并使用浏览器文件上传器上传

disable media wordpress and use the browser file uploader to upload

提问人:MEHRAN DAVARI 提问时间:11/27/2022 更新时间:11/27/2022 访问量:103

问:

我使用单用户头像插件,在设置中,有一个标题为“始终使用浏览器文件上传器上传头像”的复选框。我勾选它。但是当我尝试更改默认头像时,它仍然使用 WordPress 媒体,我在下面的文件中遇到了以下代码:

路径 : /plugins/one-user-avatar/includes/class-wp-user-avatar-admin.php

    public function wpua_add_default_avatar() {
        global $avatar_default, $mustache_admin, $mustache_medium, $wpua_avatar_default, $wpua_disable_gravatar, $wpua_functions;

        // Remove get_avatar filter
        remove_filter( 'get_avatar', array( $wpua_functions, 'wpua_get_avatar_filter' ) );

        // Set avatar_list variable
        $avatar_list = '';

        // Set avatar defaults
        $avatar_defaults = array(
            'mystery'          => __( 'Mystery Man',           'one-user-avatar'),
            'blank'            => __( 'Blank',                 'one-user-avatar'),
            'gravatar_default' => __( 'Gravatar Logo',         'one-user-avatar'),
            'identicon'        => __( 'Identicon (Generated)', 'one-user-avatar'),
            'wavatar'          => __( 'Wavatar (Generated)',   'one-user-avatar'),
            'monsterid'        => __( 'MonsterID (Generated)', 'one-user-avatar'),
            'retro'            => __( 'Retro (Generated)',     'one-user-avatar')
        );

        $avatar_defaults = apply_filters( 'avatar_defaults', $avatar_defaults );

        // No Default Avatar, set to Mystery Man
        if ( empty( $avatar_default ) ) {
            $avatar_default = 'mystery';
        }

        // Take avatar_defaults and get examples for [email protected]
        foreach ( $avatar_defaults as $default_key => $default_name ) {
            $avatar   = get_avatar( '[email protected]', 32, $default_key );
            $selected = ( $avatar_default == $default_key ) ? ' checked="checked" ' : '';

            $avatar_list .= sprintf(
                '<label><input type="radio" name="avatar_default" id="avatar_%1$s" value="%1$s" %2$s/> ',
                esc_attr( $default_key ),
                $selected
            );
            $avatar_list .= preg_replace( "/src='(.+?)'/", "src='\$1&amp;forcedefault=1'", $avatar );
            $avatar_list .= ' ' . $default_name . '</label>';
            $avatar_list .= '<br />';
        }

        // Show remove link if custom Default Avatar is set
        if ( ! empty( $wpua_avatar_default ) && $wpua_functions->wpua_attachment_is_image( $wpua_avatar_default ) ) {
            $avatar_thumb_src = $wpua_functions->wpua_get_attachment_image_src( $wpua_avatar_default, array( 32, 32 ) );
            $avatar_thumb     = $avatar_thumb_src[0];
            $hide_remove      = '';
        } else {
            $avatar_thumb = $mustache_admin;
            $hide_remove  = ' class="wpua-hide"';
        }

        // Default Avatar is wp_user_avatar, check the radio button next to it
        $selected_avatar = ( 1 == (bool) $wpua_disable_gravatar || 'wp_user_avatar' == $avatar_default ) ? ' checked="checked" ' : '';

        // Wrap WPUA in div
        $avatar_thumb_img = sprintf( '<div id="wpua-preview"><img src="%s" width="32" /></div>', esc_url( $avatar_thumb ) );

        // Add WPUA to list
        $wpua_list  = sprintf(
            '<label><input type="radio" name="avatar_default" id="wp_user_avatar_radio" value="wp_user_avatar" %s /> ',
            $selected_avatar
        );

        $wpua_list .= preg_replace( "/src='(.+?)'/", "src='\$1'", $avatar_thumb_img );
        $wpua_list .= ' ' . __( 'One User Avatar', 'one-user-avatar' ) . '</label>';
        $wpua_list .= '<p id="wpua-edit"><button type="button" class="button" id="wpua-add" name="wpua-add" data-avatar_default="true" data-title="' . __( 'Choose Image', 'one-user-avatar' ) . ': ' . __( 'Default Avatar', 'one-user-avatar' ) . '">' . __( 'Choose Image', 'one-user-avatar' ) . '</button>';
        $wpua_list .= '<span id="wpua-remove-button"' . $hide_remove . '><a href="#" id="wpua-remove">' . __( 'Remove', 'one-user-avatar' ) . '</a></span><span id="wpua-undo-button"><a href="#" id="wpua-undo">' . __( 'Undo', 'one-user-avatar' ) . '</a></span></p>';
        $wpua_list .= '<input type="hidden" id="wp-user-avatar" name="avatar_default_wp_user_avatar" value="' . $wpua_avatar_default . '">';
        $wpua_list .= '<div id="wpua-modal"></div>';

        if ( 1 != (bool) $wpua_disable_gravatar ) {
            return $wpua_list . '<div id="wp-avatars">' . $avatar_list . '</div>';
        } else {
            return $wpua_list . '<div id="wp-avatars" style="display:none;">' . $avatar_list . '</div>';
        }
    }

如何禁用 WordPress 媒体并从计算机选择和上传文件?

我找到了以下代码:

$wpua_list .= '<p id="wpua-edit"><button type="button" class="button" id="wpua-add" name="wpua-add" data-avatar_default="true" data-title="' . __( 'Choose Image', 'one-user-avatar' ) . ': ' . __( 'Default Avatar', 'one-user-avatar' ) . '">' . __( 'Choose Image', 'one-user-avatar' ) . '</button>';

我用以下代码替换了它:

$wpua_list .= '<p id="wpua-edit"><input name="wpua-file" id="wpua-file" type="file"><button type="submit" class="button" id="wpua-upload" name="wpua-upload" data-avatar_default="true" data-title="' . __( 'Upload', 'one-user-avatar' ) . ': ' . __( 'Default Avatar', 'one-user-avatar' ) . '">' . __( 'Upload', 'one-user-avatar' ) . '</button>';

但是当我转到地址并从计算机中选择并上传照片时,没有上传任何内容。wp-admin/options-discussion.php

我哪里做错了?感谢您抽出宝贵时间阅读我的问题。

php wordpress 头像 gravatar

评论


答: 暂无答案