Intereting Posts
Добавить пользовательское поле в поле комментариев ПОСЛЕ текстовой области НО ПЕРЕД отправкой кнопки Как отобразить отфильтрованное сообщение типа $ title даже при пустых результатах поиска? Как сделать несколько проверок_nonce в одной функции? Ссылка в подпапке ReDirect на другую подпапку и принудительное SSL Изменить тему, чтобы получить отрывки на главной странице Изменить хинди на английском языке в соответствии с выбранным значением Могу ли я прикрепить изображение к сообщению, не добавляя его в сообщение? URI возвращает сообщение, когда он должен вернуть 404 Как удалить логотип tripadvisor из темы wordpress? обновить сообщение с помощью wp_update_post Как добавить текст ко всем сообщениям / страницам / категориям / домашним страницам и т. Д. Неустранимая ошибка: невозможно обновить comment_theme () Можно ли автоматически публиковать публикацию после публикации продукта Woo-commerce? Отключить панель администратора на странице плагина Очень странная проблема с поисковым запросом

Как загрузить изображение с лицевой панели и сохранить в медиа-библиотеке?

Я работаю над плагином. Я хочу загрузить изображение с лицевой стороны, т. Е. С помощью input type="file" Я много сделал для него, но не смог загрузить изображение. Вот мой код для загрузки изображения

 <form method="post" action="options.php"> <input type="file" name="my_image_upload" id="my_image_upload" multiple="false" /> <input type="hidden" name="post_id" id="post_id" value="55" /> <?php wp_nonce_field( 'my_image_upload', 'my_image_upload_nonce' ); ?> <input id="submit_my_image_upload" name="submit_my_image_upload" type="submit" value="Upload" /> </form> <?php if ( isset( $_POST['my_image_upload_nonce'], $_POST['post_id'] ) && wp_verify_nonce( $_POST['my_image_upload_nonce'], 'my_image_upload' ) && current_user_can( 'edit_post', $_POST['post_id'] ) ) { require_once( ABSPATH . 'wp-admin/includes/image.php' ); require_once( ABSPATH . 'wp-admin/includes/file.php' ); require_once( ABSPATH . 'wp-admin/includes/media.php' ); $attachment_id = media_handle_upload( 'my_image_upload', $_POST['post_id'] ); if ( is_wp_error( $attachment_id ) ) { // There was an error uploading the image. } else { // The image was uploaded successfully! } } else { // The security check failed, maybe show the user an error. } function wp_verify_nonce_X($nonce, $action = -1) { return true; $user = wp_get_current_user(); $uid = (int) $user->id; $i = wp_nonce_tick(); if ( substr(wp_hash($i . $action . $uid, 'nonce'), -12, 10) == $nonce ) return 1; if ( substr(wp_hash(($i - 1) . $action . $uid, 'nonce'), -12, 10) == $nonce ) return 2; // Invalid nonce return false; } After implementing this code I get thiserror Fatal error: Call to undefined function wp_verify_nonce() in /home/projectdemos/public_html/WP-Team-Showcase/wp-content/plugins/wp-team-showcase/team.php on line 435 

Я google эту ошибку и запускаю все возможные решения, найденные на нем, но не смог ее решить. Скажите, как загрузить изображение и сохранить его, если есть другое решение рядом с моим этим кодом.

Теперь у меня есть ответ на мой вопрос. Я решил эту проблему, используя этот код. Я добавляю этот код только для совместного использования и помощи другим, поскольку он работает для меня.

 <input type="file" name="my_file_upload" id="my_file_upload_id" class="bg_checkbox" > function register_team_show_case_setting() { //register our settings register_setting('my_team_show_case_setting', 'my_file_upload'); } add_action('admin_init', 'register_team_show_case_setting'); 

Код для загрузки и сохранения изображения:

 require_once( ABSPATH . 'wp-admin/includes/image.php' ); require_once( ABSPATH . 'wp-admin/includes/file.php' ); require_once( ABSPATH . 'wp-admin/includes/media.php' ); $attach_id = media_handle_upload('my_file_upload', $post_id); if (is_numeric($attach_id)) { update_option('option_image', $attach_id); update_post_meta($post_id, '_my_file_upload', $attach_id); } 

Показать код изображения

 echo wp_get_attachment_url(get_option('option_image')); 

Вы вызываете функцию WordPress до того, как WordPress будет полностью загружен. Быстрый и грязный способ исправить это – добавить

 require_once(ABSPATH .'wp-includes/pluggable.php'); 

в верхней части вашего файла плагина, чтобы он имел необходимые функции.

Лучший и правильный способ решения этого – подождать с кодом до тех пор, пока WordPress не будет выполнен с использованием одного из доступных крючков

 add_action( 'init', 'wpse_228301' ); 

или

 add_action( 'wp_loaded', 'wpse_228301' );