Title: Самостоятельно добавление записей в БД.
Last modified: 30.07.2016

---

# Самостоятельно добавление записей в БД.

 *  Решено [inwpresser](https://ru.wordpress.org/support/users/inwpresser/)
 * (@inwpresser)
 * [16 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/%d1%81%d0%b0%d0%bc%d0%be%d1%81%d1%82%d0%be%d1%8f%d1%82%d0%b5%d0%bb%d1%8c%d0%bd%d0%be-%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d0%b5%d0%b9-%d0%b2/)
 * Добрый день, знатоки!
    Проблема следующая. Необходимо добавить в админку на страницу
   создания/редактирования записи свою собственную кнопку. Эта кнопка должна выполнять
   следующее: вставлять в таблицу wp_posts базы данных в дополнительно созданное
   поле некоторое текстовое значение — одно слово. Причем она должна вставлять в
   ячейку соответствующую строке, содержащей ID создаваемой/редактируемой записи.
   Кнопочку сделала. Дополнительное поле (будем называть его additional_1) тоже 
   создала. Остается написать нехитрую функцию доваления в additional_1 значения,
   допустим, add_var.
 * 1. Добавлять можно через запрос «UPDATE wp_posts SET…». Но не уверена что это
   лаконичное и рациональное решение. Есть еще какие-нибудь другие более подходящие
   варианты, кроме запросов «в лоб»?
    2. Основная проблема, собственно, состоит 
   в том что я не знаю как так написать запрос, чтобы значение add_var вставлялось
   соответственно определенному айди! Айди — автоинкремент, его значение берется
   где-то в коде. Если это оно — $post->ID — то я пыталась писать следующее: mysql_query(«
   UPDATE wp_posts SET additional_1 = ‘add_var’ WHERE post_content = «. $post->ID)
   or die(«Invalid query: » . mysql_error()); Так не работает. Соответственно, я
   что-то не понимаю. Подскажите, пожалуйста, как проблему решить!

Просмотр 3 ответов — с 1 по 3 (всего 3)

 *  Модератор [Sergey Biryukov](https://ru.wordpress.org/support/users/sergeybiryukov/)
 * (@sergeybiryukov)
 * Live and Learn
 * [16 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/%d1%81%d0%b0%d0%bc%d0%be%d1%81%d1%82%d0%be%d1%8f%d1%82%d0%b5%d0%bb%d1%8c%d0%bd%d0%be-%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d0%b5%d0%b9-%d0%b2/#post-14958)
 * 1. Можно использовать произвольные поля — они как раз для этого.
    2. С `$post-
   >ID` логично сравнивать поле `ID`, а не `post_content`.
 *  Автор [inwpresser](https://ru.wordpress.org/support/users/inwpresser/)
 * (@inwpresser)
 * [16 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/%d1%81%d0%b0%d0%bc%d0%be%d1%81%d1%82%d0%be%d1%8f%d1%82%d0%b5%d0%bb%d1%8c%d0%bd%d0%be-%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d0%b5%d0%b9-%d0%b2/#post-14960)
 * Да, произвольные поля это конечно хорошо. Но если записей планируется несколько
   тысяч, то гораздо удобнее когда код выполняется автоматически и админу не приходится
   каждый раз вбивать произвольное поле.
 * Да, конечно, не верно сравнивать $post->ID с post_content. Вы правы, спасибо.
 * Запрос я прописываю в функции. Скажите, пожалуйста, где в коде мне ее вызвать,
   чтобы совершилось ожидаемое чудо. Насколько я понимаю при нажатии кнопки «Опубликовать/
   Обновить» происходит перезагрузка страницы и принимаемые изменения с заносом 
   исправлений в БД.
 * За кнопку «Опубликовать/Обновить» отвечает код в wp-admin/includes/meta-boxes.
   php
 *     ```
       <?php
       if ( !in_array( $post->post_status, array('publish', 'future', 'private') ) || 0 == $post->ID ) {
       	if ( $can_publish ) :
       		if ( !empty($post->post_date_gmt) && time() < strtotime( $post->post_date_gmt . ' +0000' ) ) : ?>
       		<input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e('Schedule') ?>" />
       		<input name="publish" type="submit" class="button-primary" id="publish" tabindex="5" accesskey="p" value="<?php esc_attr_e('Schedule') ?>" />
       <?php	else : ?>
       		<input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e('Publish') ?>" />
       		<input name="publish" type="submit" class="button-primary" id="publish" tabindex="5" accesskey="p" value="<?php esc_attr_e('Publish') ?>" />
       <?php	endif;
       	else : ?>
       		<input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e('Submit for Review') ?>" />
       		<input name="publish" type="submit" class="button-primary" id="publish" tabindex="5" accesskey="p" value="<?php esc_attr_e('Submit for Review') ?>" />
       <?php
       	endif;
       } else { ?>
       		<input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e('Update') ?>" />
       		<input name="save" type="submit" class="button-primary" id="publish" tabindex="5" accesskey="p" value="<?php esc_attr_e('Update') ?>" />
   
       <?php
       } ?>
       ```
   
 * Не знаете, где находятся функции php, которые обрабатывают данные, посланные 
   с помощью этой кнопки, чтобы я смогла там и свою функцию воткнуть?
 *  Автор [inwpresser](https://ru.wordpress.org/support/users/inwpresser/)
 * (@inwpresser)
 * [16 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/%d1%81%d0%b0%d0%bc%d0%be%d1%81%d1%82%d0%be%d1%8f%d1%82%d0%b5%d0%bb%d1%8c%d0%bd%d0%be-%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d0%b5%d0%b9-%d0%b2/#post-14961)
 * а еще лучше, наверно, проделать все выше описанное через Ajax. Чтоб обработка
   данных происходила без перезагрузки и «на лету» можно было бы записывать данные
   в БД… Но это все мечты.. Я с аяксом не особо дружу…

Просмотр 3 ответов — с 1 по 3 (всего 3)

 Тема «Самостоятельно добавление записей в БД.» закрыта для новых ответов.

## Метки

 * [базы](https://ru.wordpress.org/support/topic-tag/%d0%b1%d0%b0%d0%b7%d1%8b/)
 * [данных](https://ru.wordpress.org/support/topic-tag/%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d1%85/)
 * [запрос](https://ru.wordpress.org/support/topic-tag/%d0%b7%d0%b0%d0%bf%d1%80%d0%be%d1%81/)
 * [поле](https://ru.wordpress.org/support/topic-tag/%d0%bf%d0%be%d0%bb%d0%b5/)
 * [таблица](https://ru.wordpress.org/support/topic-tag/%d1%82%d0%b0%d0%b1%d0%bb%d0%b8%d1%86%d0%b0/)

 * Форум: [Проблемы и решения](https://ru.wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 3 ответа
 * 2 участника
 * Последний ответ: [inwpresser](https://ru.wordpress.org/support/users/inwpresser/)
 * Последняя активность: [16 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/%d1%81%d0%b0%d0%bc%d0%be%d1%81%d1%82%d0%be%d1%8f%d1%82%d0%b5%d0%bb%d1%8c%d0%bd%d0%be-%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d0%b5%d0%b9-%d0%b2/#post-14961)
 * Статус: решённая

## Темы

### Самые популярные темы

### Темы без ответов

### Без вопроса

### Решённые

### Нерешённые

### Все темы
