Intereting Posts
Автоматическое добавление даты в автоматическую генерацию почтового пули Как передать изменения в дочернюю тему? Горизонтальная понижающая категория с эффектом зависания Каков наилучший способ обнаружения реферера? Идентификаторы сообщений, отсутствующие в действительном крючке delete_postmeta Пропустить 5 последних сообщений при пейджинге? Параметр WP_Query post_parent всегда возвращает дочерние элементы текущей страницы Получение 404 при попытке загрузить /wp-admin/plugin-install.php Выбор WP-класса .page-id Для уникальной страницы в Javascript Кто-нибудь пытался поставить PHP ActiveRecord на WordPress? Изменить формат даты на немецкий Странное поведение меню wordpress admin Зачем использовать admin-ajax.php и как он работает? Сделать значение posts_per_page одинаковым на всех страницах На моем веб-сайте появляется слишком много отрывков домой, и это увеличивает показатель отказов

Пример wp_update_post () … как обновить the_content в текстовом поле?

Я использую функцию ниже для обновления метаданных с переднего конца. Как добавить add best textarea, который обновляет the_content() используя wp_update_post() ?

 if ( isset( $_POST['albums'] ) && wp_verify_nonce($_POST['albums'],'update_albums_postmeta') ) { //if nonce check succeeds. global $post; $postid = $post->ID; $data = $_POST['priceone']; update_post_meta($postid,'_releasedate',$data); $data = $_POST['pricetwo']; update_post_meta($postid,'_amazonlink',$data); } 

Редактировать:

Таким образом, этот фрагмент публикует изменения в базе данных, однако, когда страница обновляется, отправляйте старый the_content() . Сообщение должно быть обновлено вручную, чтобы увидеть изменения.

Является ли мой фрагмент неправильным?

 if ( isset( $_POST['drw_inventory'] ) && wp_verify_nonce($_POST['drw_inventory'],'update_drw_postmeta') ) { //if nonce check succeeds. global $post; $data_content = $_POST['description']; $my_post = array(); $my_post['ID'] = $post->ID; $my_post['post_content'] = $data_content; wp_update_post( $my_post ); } 

Это зависит от того, где вы используете это. Является ли глобальная почта $ заданием конкретной должности, которую вы хотите обновить? Ваш почтовый индекс для WordPress выглядит правильно для меня, но действительный ли оператор if и $ post-> ID дает правильный int?

У меня такая же проблема. Мой код находится в файле single.php . Я использую код из этой статьи: Редактирование сообщения переднего конца с использованием формы

После нажатия на submit код в single.php запускает wp_update_post() с возвращаемым идентификатором сообщения. Поскольку это выполняется из файла шаблона, wp_query уже заполнен, поэтому страница все еще отображается со старыми данными. Если я обновляюсь без отправки, новые данные заполняются.

Я не уверен, что это лучшее решение для него, но оно работает. После wp_update_post() я перезаписываю глобальную переменную $wp_query используя тот же запрос, который был запущен до того, как был вызван этот файл шаблона.

 global $wp_query; if ('POST' == $_SERVER['REQUEST_METHOD'] && !empty($_POST['post_id']) && !empty($_POST['post_title']) && isset($_POST['update_post_nonce']) && isset($_POST['post_content'])) { $post_id = $_POST['post_id']; $post_type = get_post_type($post_id); $capability = ('page' == $post_type) ? 'edit_page' : 'edit_post'; if (current_user_can($capability, $post_id) && wp_verify_nonce($_POST['update_post_nonce'], 'update_post_' . $post_id)) { $post = array( 'ID' => esc_sql($post_id), 'post_content' => wp_kses_post($_POST['post_content']), 'post_title' => wp_strip_all_tags($_POST['post_title']) ); $result = wp_update_post($post, true); if (is_wp_error($result)){ wp_die('Post not saved'); } $wp_query = new WP_Query($wp_query->query); //resets the global query so updated post data is available. } else { wp_die("You can't do that"); } } 

Я попытался вызывать wp_reset_postdata() и wp_reset_query() но я предполагаю, что он перезагружается в кешированную копию, потому что я все еще получаю старые данные.

Другим решением, которое работало, было получение текущего URL-адреса, используя:

 global $wp; $current_url = home_url(add_query_arg(array(),$wp->request)); 

а затем после wp_update_post() :

 wp_redirect($current_url); 

Код для $ current_url был найден здесь.