Articles of save post

Пользовательские значения полей удаляются

Я создал пользовательский тип сообщения: продукты, которые также имеют настраиваемые поля: цена и доставка. Иногда, если я оставляю окно редактирования или открываю его, я теряю значения внутри цены и доставки. Может кто-нибудь, пожалуйста, посоветуйте об этом. add_action('save_post', 'save_details'); function save_details() { global $post; update_post_meta($post->ID, "price", $_POST["price"] ); update_post_meta($post->ID, "shipping", $_POST["shipping"] ); update_post_meta($post->ID, "long_title", $_POST["long_title"] ); […]

предотвращать отправку сообщений

Я использую мета-поле для настраиваемого типа сообщений. У меня три проблемы: Кажется, что WP запускает функцию, которую я привязал к действию save_post, каждый раз, когда новый пост открывается для редактирования или перезагрузки. Есть ли способ предотвратить его запуск? WP сохраняет сообщение, даже когда я добавляю «return false» после завершения проверки. Есть ли другой способ сделать […]

«save_post» не работает в WP 3.5

Раньше у меня была добавлена ​​дополнительная опция на экране «Редактировать медиа» (с помощью hook_list_to_edit, а затем сохранения с помощью attachment_fields_to_save ). Тем не менее, сегодня я обновил до 3.5, а экран «Редактировать медиа» теперь основан на экране «Редактировать сообщение», поэтому эти перехватчики больше не работают в этом контексте. Чтобы преодолеть это, я добавил метабокс, используя […]

Как проверить поле выбора в метатете почты?

Я хочу отобразить поле выпадающего списка в метатете сообщений. Как я могу проверить вход перед его сохранением? В настоящее время я просто экономию, не проверяя так: if ( isset( $_POST['select_meta'] ) ) { update_post_meta( $post->ID, 'select_meta', $_POST['select_meta'] ); } Вот код, который я использую для отображения мета-поля: $select_items = ('one', 'two', 'three'); $select_meta = get_post_meta( […]

Что означают числа в конце add_action ('save_post') …?

В нескольких учебных пособиях я видел, что в конце вызова есть числа для сохранения пользовательских полей / мета- save_post крюке save_post . Например, в WordPress Codex приведен следующий пример: <?php add_action( 'save_post', 'my_save_post', 10, 2 ); ?> Что означают 10 и 2 в конце? Я пробовал поговорить с «экспертом», но они не помогли;)

откуда этот $ post_id?

Я пытался выяснить, почему save_post не запускается «Быстрое редактирование», и нашел решение здесь. По- видимому, глобальная $post не доступна при обновлении сообщения в режиме быстрого редактирования. Итак, теперь я работаю – см. Рабочий пример ниже, но я не понимаю, почему он работает. function mytestfunc($post_id) { $key = 'test'; $data = 'this is a test'; update_post_meta( […]

показ ошибки до update_post_meta

Я пытаюсь ограничить количество элементов, которые вы можете связать с сообщением, поэтому в моей функции сохранения у меня есть: add_action( 'save_post', array( $this, 'save_custom_items_data' ), 10, 2 ); public function save_custom_items_data( $post_id, $post ) { if(count($related_items) > 5) { // display error message here but the page redirects anyway… } else { update_post_meta( $post_id, '_custom-meta-items', […]

Не удалось получить метабокс.

Я пытаюсь создать мета-окно на странице создания / редактирования сообщения. Я столкнулся с проблемой: 1. Когда я создаю сообщение с нуля, данные из моего мета-поля сохраняются как ожидалось 2. Когда я пытаюсь обновить существующее сообщение с помощью новых данных метаданных, данные не сохраняются. Я экспериментировал с несколькими крючками действия, которые я получил из документов WordPress, […]

wp_insert_posts Неустранимая ошибка: максимальный уровень вложенности функции «100» достигнут, прерывается!

У меня возникла странная проблема: я написал код, как показано ниже: add_action('save_post', 'save_post_func'); function save_post_func(){ include_once(ABSPATH . WPINC . '/feed.php'); $rss = fetch_feed($url); if (!is_wp_error($rss)) { //ini_set('xdebug.max_nesting_level', 1000); <– Doesn't work $maxitems = $rss->get_item_quantity(5); $rss_items = $rss->get_items(0, $maxitems); foreach ($rss_items as $item) { // count($rss_items) = 5 ??? wp_insert_post(array('post_title' => 'a')); // inserts > 100 […]

Разрешить только одно сообщение с определенным значением мета

Я использую настраиваемое мета-поле, чтобы указать, какой пост будет отображаться как признак на первой странице. Это мета-поле является истинным / ложным значением, объявленным через ACF. Я хочу, чтобы это условие применялось только к одному сообщению, то есть когда пользователь объявляет сообщение как «признанный» и сохраняет его, все остальные (теоретически только последние), которые имеют это метазначение, […]