Я надеюсь, что кто-то на этом форуме может помочь мне с пользовательской страницей загрузки аватара, которую я пытаюсь создать для Buddypress. Извиняюсь заранее за длинный адрес электронной почты, но я хочу быть как можно более ясным, чтобы я мог получить ясный и конкретный ответ :)Buddypress custom avatar upload page
Эта страница является частью трехэтапного процесса «запуска», который пользователь завершает после регистрация на сайте (1. заполнение полей профиля 2. загрузка аватара 3. приглашение друзей).
Я не эксперт с кодом, но у меня есть шаги 1 и 3, отсортированные путем копирования и редактирования кода из профиля/edit.php и файлов-приглашенных/по-email/by-email.php соответственно , а затем выполните переадресацию onsubmit на следующий шаг.
Чтобы выполнить шаг 1, мне также пришлось отредактировать файл bp-xprofile-template.php, чтобы включить if is_page ... else ... так, чтобы страница использовала loggedin_user, а не display_user.
С помощью шага 2 у меня есть страница, которая отображается правильно, но после того, как я выбрал изображение для аватара и нажал, загрузка страницы обновляется и не идет на обрезку, что и было, если бы вы загружали аватар на страницу изменения аватара в профиле.
Если я изменил действие формы, чтобы перенаправить на страницу изменения аватара в зарегистрированном профиле пользователя (по умолчанию нет действия), тогда появляется обрезка, но я не хочу, чтобы пользователь покидал «шаги».
Я подумал, может быть, мне нужно что-то изменить в наборе функций аватара_admin в bp-core-template.php, чтобы он работал на других страницах, но это не выходит за рамки моих способностей. Я действительно надеюсь, что кто-то может помочь в этом, потому что это последний барьер для завершения этого процесса.
Ниже приведен код изменения-avatar.php, и это то, что я скопировал и пытаюсь выполнить работу на пользовательской странице. Моя страница перестает правильно работать в «если („урожай образ“== bp_get_avatar_admin_step()». Заранее спасибо.
<h4><?php _e('Change Avatar', 'buddypress') ?></h4>
<?php do_action('bp_before_profile_avatar_upload_content') ?>
<?php if (!(int)bp_get_option('bp-disable-avatar-uploads')) : ?>
<p><?php _e('Your avatar will be used on your profile and throughout the site. If there is a <a href="http://gravatar.com">Gravatar</a> associated with your account email we will use that, or you can upload an image from your computer.', 'buddypress') ?></p>
<form action="" method="post" id="avatar-upload-form" class="standard-form" enctype="multipart/form-data">
<?php if ('upload-image' == bp_get_avatar_admin_step()) : ?>
<?php wp_nonce_field('bp_avatar_upload') ?>
<p><?php _e('Click below to select a JPG, GIF or PNG format photo from your computer and then click \'Upload Image\' to proceed.', 'buddypress') ?></p>
<p id="avatar-upload">
<input type="file" name="file" id="file" />
<input type="submit" name="upload" id="upload" value="<?php _e('Upload Image', 'buddypress') ?>" />
<input type="hidden" name="action" id="action" value="bp_avatar_upload" />
</p>
<?php if (bp_get_user_has_avatar()) : ?>
<p><?php _e("If you'd like to delete your current avatar but not upload a new one, please use the delete avatar button.", 'buddypress') ?></p>
<p><a class="button edit" href="<?php bp_avatar_delete_link() ?>" title="<?php _e('Delete Avatar', 'buddypress') ?>"><?php _e('Delete My Avatar', 'buddypress') ?></a></p>
<?php endif; ?>
<?php endif; ?>
<?php if ('crop-image' == bp_get_avatar_admin_step()) : ?>
<h5><?php _e('Crop Your New Avatar', 'buddypress') ?></h5>
<img src="<?php bp_avatar_to_crop() ?>" id="avatar-to-crop" class="avatar" alt="<?php _e('Avatar to crop', 'buddypress') ?>" />
<div id="avatar-crop-pane">
<img src="<?php bp_avatar_to_crop() ?>" id="avatar-crop-preview" class="avatar" alt="<?php _e('Avatar preview', 'buddypress') ?>" />
</div>
<input type="submit" name="avatar-crop-submit" id="avatar-crop-submit" value="<?php _e('Crop Image', 'buddypress') ?>" />
<input type="hidden" name="image_src" id="image_src" value="<?php bp_avatar_to_crop_src() ?>" />
<input type="hidden" id="x" name="x" />
<input type="hidden" id="y" name="y" />
<input type="hidden" id="w" name="w" />
<input type="hidden" id="h" name="h" />
<?php wp_nonce_field('bp_avatar_cropstore') ?>
<?php endif; ?>
</form>
<?php else : ?>
<p><?php _e('Your avatar will be used on your profile and throughout the site. To change your avatar, please create an account with <a href="http://gravatar.com">Gravatar</a> using the same email address as you used to register with this site.', 'buddypress') ?></p>
<?php endif; ?>
<?php do_action('bp_after_profile_avatar_upload_content') ?>
Привет, я нашел решение, вы можете увидеть в http://stackoverflow.com/a/40312684/4016011 – gfirem