Intereting Posts
WP_Query категории, не отображающей первое сообщение Как получить последнее сообщение с комментариями выше нового отправленного сообщения в WordPress? Страницы и сообщения на слайдере ElegantTheme Получение значений пользовательских полей в режиме быстрого редактирования Ограничить the_excerpt с максимальным количеством символов x Структура меню с невозможностью обновления ссылок Проблемы с JQuery с интерфейсом WordPress Сохранить флажки метабокса с циклом foreach (недопустимый аргумент) Две установки wordpress mu, одинаковые настройки / плагины / темы? Порядок WP_Query по количеству понравившихся Переупорядочить продукт Woocommerce и echo div вокруг перемещенных и дублированных крючков Woocommerce add_filter ('query_vars') не работает в настраиваемом шаблоне Отладка цикла перенаправления, затрагивающего только определенные страницы почему этот запрос возвращает целые записи в блогах Путевые точки + бесконечная прокрутка с пользовательским запросом

Front-end update_post_meta Справка

Я следил за помощью, предоставленной в этом вопросе, но не могу получить форму, сохраняющую данные. Я попытался использовать «save_post» action hook, чтобы попытаться сохранить сообщение, как мы делаем для администратора. Любая помощь будет высоко оценен.

Мой код выглядит следующим образом:

/ * Это выше шаблона get_header () шаблона * /

if ( isset( $_POST['grn_data'] ) && wp_verify_nonce($_POST['grn_data'],'update_grn_postmeta') ) { //if nonce check succeeds. global $post; $postid = $post->ID; $data = $_POST['grn']; update_post_meta($postid,'grn',$data); } 

И форма находится в отдельном файле, и я вызываю ее всякий раз, когда это необходимо.

 <?php /* This file is to provide input fields to record data from Front End */ function grn_data($c) { global $post; $grn = array(); ?> <div class="grndata"> <label for="grn" id="grnhead">GRN</label> <div class="toggle-fedata"> <ul> <?php $curgrn = 'grn'; $grnval = get_post_meta($post->ID, $curgrn, true); ?> <form method="post" action=""> <?php wp_nonce_field('update_grn_data','grn_data'); ?> <input type="text" size="30" maxlength="30" name="<?php echo $curgrn; ?>" value="<?php echo $grnval; ?>" /> <input type="submit" value="Save" /> <?php var_dump($grnval); ?> <?php var_dump($curgrn); ?> </form> </div></div> <?php } ?> 

Может кто-нибудь посоветует об этом? Я застрял вот так вот уже несколько дней.

ваше неправильное имя не используется, как wp_nonce_field('update_grn_data','grn_data'); в wp_nonce_field('update_grn_data','grn_data'); а также вы забываете эхо-нонс, попробуйте это

 if ( isset( $_POST['grn_data'] ) && wp_verify_nonce($_POST['grn_data'],'update_grn_data') ) { //if nonce check succeeds. $postid = $_POST['post_id']; $data = $_POST['grn']; update_post_meta($postid,'grn',$data); } 

форма

 <?php /* This file is to provide input fields to record data from Front End */ function grn_data($post_id) { ?> <div class="grndata"> <label for="grn" id="grnhead">GRN</label> <div class="toggle-fedata"> <?php $curgrn = 'grn'; $grnval = get_post_meta($post_id, $curgrn, true); ?> <form method="post" action=""> <?php echo wp_nonce_field('update_grn_data','grn_data'); ?> <input type="text" size="30" maxlength="30" name="<?php echo $curgrn; ?>" value="<?php echo $grnval; ?>" /> <input type="submit" value="Save" /> <?php var_dump($grnval); ?> <?php var_dump($curgrn); ?> </form> </div> </div> <?php } ?> 

теперь позвоните в форму

 echo grn_data($post->ID);