Intereting Posts
Удалить текст, связанный с публикацией, а также текст, связанный с категорией, из темы? WordPress – использование сеансов? wp_editor в передней части не работает Идентификаторы сообщений увеличиваются на неизвестное число? Удалить размеры из имени файла с изображением Пользовательские сообщения типа post не отображаются в wp_nav_menu () Изменение метаданных направления порядка сортировки Автоматическая встраивание информации о ссылках с URL-адресов в формат почтового сообщения? Почему previous_post_link / next_post_link пропускает некоторые сообщения? Uncaught TypeError: Object не имеет диалогового окна метода. Возможно ли использование динамического URL-адреса в WordPress Перемещение Sticky Nav Menu Ниже панели инструментов WordPress, когда панель инструментов включена Получите значение из поля ввода и перейдите в update_meta_data как $ meta_value Как удалить связанный пост с домашней страницы Создать страницу обработки переменных сообщений

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);