Wp includes meta php

update_post_meta(int $post_id,строка $meta_key,смешанное $meta_value,смешанное $prev_value=» )

Обновляет метаполе сообщения на основе заданного идентификатора сообщения.

Description

Используйте параметр $prev_value чтобы различать метаполя с одинаковым ключом и идентификатором сообщения.

Если мета-поле для сообщения не существует,то оно будет добавлено,а его ID возвращен.

Может использоваться вместо add_post_meta () .

Parameters

(смешанный) (Обязательный) Значение метаданных. Должен быть сериализуемым, если не скалярный.

(смешанный) (Необязательно) Предыдущее значение для проверки перед обновлением. Если указано, обновлять этим значением только существующие записи метаданных. В противном случае обновите все записи.

Return

(int | bool) Мета ID, если ключ не существует, истина при успешном обновлении, ложь при ошибке или если значение, переданное функции, совпадает с тем, которое уже есть в базе данных.

More Information

Character Escaping

Значения Post meta передаются через функцию stripslashes()при сохранении,поэтому вам нужно быть осторожными при передаче значений (например,JSON),которые могут содержать \ экранированные символы.

Не храните экранированные значения

 $escaped_json = ''; update_post_meta( $id, 'escaped_json', $escaped_json ); $broken = get_post_meta( $id, 'escaped_json', true ); / * $ broken, после прохождения через stripslashes () оказывается неразборчивым: * / ?> 

Workaround

Добавив еще один уровень \ экранирования с помощью функции wp_slash (представленной в WP 3.6), вы можете компенсировать вызов stripslashes ()

 $escaped_json = ''; update_post_meta( $id, 'double_escaped_json', wp_slash( $escaped_json ) ); $fixed = get_post_meta( $id, 'double_escaped_json', true ); / * $ fixed после stripslashes () в конечном итоге сохраняется по желанию: * / ?> 

Source

function update_post_meta( $post_id, $meta_key, $meta_value, $prev_value = '' ) < // Убедитесь, что мета обновляется для поста, а не для ревизии. $the_post = wp_is_post_revision( $post_id ); if ( $the_post ) < $post_id = $the_post; > return update_metadata( 'post', $post_id, $meta_key, $meta_value, $prev_value ); >

Uses

Определяет,является ли указанная должность ревизией.

Обновляет метаданные для указанного объекта.Если для указанного идентификатора объекта и ключа метаданных уже не существует значения,метаданные будут добавлены.

Used By

Применяет изменения к медиаэлементу и создает новую запись вложения.

Журнал обновлений при подтверждении запроса конфиденциальности.

Уведомляет администратора сайта по электронной почте о подтверждении запроса.

Уведомляет пользователя, когда его запрос на удаление выполнен.

Перехват Ajax-ответов страницы экспортера персональных данных для сборки файла экспорта персональных данных.

Сгенерируйте файл экспорта личных данных.

Помечает запрос как выполненный администратором и регистрирует текущую метку времени.

Пометит сообщение changeset как редактируемое в данный момент текущим пользователем.

Обновляет блокировку набора изменений с текущим временем,если текущий пользователь редактировал набор изменений ранее.

Закрывает все авточерновики текущего пользователя (кроме текущего).

Импортирует начальный контент темы в настроенное состояние.

Устанавливает шаблон для сообщения.

Обработчик Ajax для добавления пользовательского фонового контекста к вложению.

Восстанавливает метаданные для данного вложения.

Сохраняет изображение для публикации вместе с внесенными в очередь изменениями в $_REQUEST[‘history’] .

Создавайте метаданные вложений и создавайте подразмеры изображений для изображений.

Обрабатывает формы заявок для старого загрузчика мультимедиа.

Отмечает публикацию как редактируемую текущим пользователем.

Обновляет существующий пост значениями, указанными в $_POST .

Обрабатывает данные поста для массового редактирования постов.

Аяксовый обработчик для загрузки навесного оборудования

Аяксовый манипулятор для снятия почтового замка.

Аякс-обработчик для обновления атрибутов вложений.

Учитывая идентификатор вложения для изображения заголовка, обновляет свою отметку времени «последнего использования» на настоящее время.

Обновляет последнюю использованную мету сообщения во вложении изображения заголовка после сохранения нового изображения заголовка с помощью настройщика.

Выберите изображение заголовка, выбранное из существующих загруженных заголовков и заголовков по умолчанию, или предоставьте массив загруженных данных заголовка (новых или из медиатеки).

Обработка загрузки изображения для фонового изображения.

Устанавливает эскиз сообщения (изображенный на картинке)для данного сообщения.

Обновляет метаданные для вложения.

Вставить или обновить сообщение.

Обновите путь к файлу прикрепления на основе идентификатора прикрепленного файла.

Восстанавливает сообщение до указанной ревизии.

Сохраняет свойства пункта меню или создает новый.

Changelog

WordPress 6.1

update_post_caches(WP_Post[] $posts, string $post_type = ‘post’, bool $update_term_cache = true, bool $update_meta_cache = true)

Источник

add_metadata() │ WP 2.9.0

Добавляет мета данные к любому объекту (запись, комментарий, пользователь). Это базовая функция для управления метаданными. На ее основе работают все остальные функции метаполей. Также можно создать произвольную таблицу в БД и с её помощью записывать/удалять данные оттуда (см. ниже).

Родственные функции

update_metadata( $meta_type, $object_id, $meta_key, $meta_value, [$prev_value] ) // можно использовать вместо `add_metadata()`, // так как она сначала проверяет существование ключа.
delete_metadata( $meta_type, $object_id, $meta_key, [$meta_value], [$delete_all] ) // удаляет данные по ключу.
get_metadata( $meta_type, $object_id, [$meta_key], [$single] ) // получает данные из БД, по ключу.
Хуки из функции

Возвращает

Использование

add_metadata( $meta_type, $object_id, $meta_key, $meta_value, $unique );

Тип объекта, мета данные для которого нужно добавить. Может быть:

Определение уникальности ключа.

  • false — означает, что для этого объекта может быть определено несколько одинаковых ключей.
  • true — значит, что ключ для этого объекта может быть только один, т.е. если такой ключ уже существует, то функция не добавит никаких данных.

Примеры

#1 Пример создания дополнительных данных для комментария 45

add_metadata( 'comment', 45, 'vocation', 'Строитель', true );

#2 Создание произвольной таблицы метаданных

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

Пример создания таблицы метаданных: term:

global $wpdb; $result = false; //Создаем таблицу в БД, если её не существует $sql = sprintf( 'CREATE TABLE IF NOT EXISTS `%stermmeta` ( meta_id bigint(20) UNSIGNED NOT NULL auto_increment, term_id bigint(20) UNSIGNED NOT NULL, meta_key varchar(255), meta_value longtext, PRIMARY KEY (meta_id) )', $wpdb->prefix ); $result = $wpdb->query( $sql );

Заметка! После того как таблица создана, её нужно зарегистрировать в объекте $wpdb, для того чтобы потом проще было с ней работать через класс $wpdb.

Для регистрации определите свойство класса $wpdb->termmeta , в котором укажите название таблицы (делать это нужно как можно раньше — перед использованием произвольных функций):

global $wpdb; $wpdb->termmeta = $wpdb->prefix.'termmeta';

#3 Добавление данных в таблицу Term

Теперь, когда таблица создана, добавить данные туда можно так:

add_metadata( 'term', $_GET['tag_ID'], 'gender', 'M' ,true ); add_metadata( 'term', $_GET['tag_ID'], 'age', '29', true ); add_metadata( 'term', $_GET['tag_ID'], 'favourite_colour', 'Green', true );

Заметки

Список изменений

Код add_metadata() add metadata WP 6.2.2

function add_metadata( $meta_type, $object_id, $meta_key, $meta_value, $unique = false ) < global $wpdb; if ( ! $meta_type || ! $meta_key || ! is_numeric( $object_id ) ) < return false; >$object_id = absint( $object_id ); if ( ! $object_id ) < return false; >$table = _get_meta_table( $meta_type ); if ( ! $table ) < return false; >$meta_subtype = get_object_subtype( $meta_type, $object_id ); $column = sanitize_key( $meta_type . '_id' ); // expected_slashed ($meta_key) $meta_key = wp_unslash( $meta_key ); $meta_value = wp_unslash( $meta_value ); $meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type, $meta_subtype ); /** * Short-circuits adding metadata of a specific type. * * The dynamic portion of the hook name, `$meta_type`, refers to the meta object type * (post, comment, term, user, or any other type with an associated meta table). * Returning a non-null value will effectively short-circuit the function. * * Possible hook names include: * * - `add_post_metadata` * - `add_comment_metadata` * - `add_term_metadata` * - `add_user_metadata` * * @since 3.1.0 * * @param null|bool $check Whether to allow adding metadata for the given type. * @param int $object_id ID of the object metadata is for. * @param string $meta_key Metadata key. * @param mixed $meta_value Metadata value. Must be serializable if non-scalar. * @param bool $unique Whether the specified meta key should be unique for the object. */ $check = apply_filters( "add__metadata", null, $object_id, $meta_key, $meta_value, $unique ); if ( null !== $check ) < return $check; >if ( $unique && $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $table WHERE meta_key = %s AND $column = %d", $meta_key, $object_id ) ) ) < return false; >$_meta_value = $meta_value; $meta_value = maybe_serialize( $meta_value ); /** * Fires immediately before meta of a specific type is added. * * The dynamic portion of the hook name, `$meta_type`, refers to the meta object type * (post, comment, term, user, or any other type with an associated meta table). * * Possible hook names include: * * - `add_post_meta` * - `add_comment_meta` * - `add_term_meta` * - `add_user_meta` * * @since 3.1.0 * * @param int $object_id ID of the object metadata is for. * @param string $meta_key Metadata key. * @param mixed $_meta_value Metadata value. */ do_action( "add__meta", $object_id, $meta_key, $_meta_value ); $result = $wpdb->insert( $table, array( $column => $object_id, 'meta_key' => $meta_key, 'meta_value' => $meta_value, ) ); if ( ! $result ) < return false; >$mid = (int) $wpdb->insert_id; wp_cache_delete( $object_id, $meta_type . '_meta' ); /** * Fires immediately after meta of a specific type is added. * * The dynamic portion of the hook name, `$meta_type`, refers to the meta object type * (post, comment, term, user, or any other type with an associated meta table). * * Possible hook names include: * * - `added_post_meta` * - `added_comment_meta` * - `added_term_meta` * - `added_user_meta` * * @since 2.9.0 * * @param int $mid The meta ID after successful update. * @param int $object_id ID of the object metadata is for. * @param string $meta_key Metadata key. * @param mixed $_meta_value Metadata value. */ do_action( "added__meta", $mid, $object_id, $meta_key, $_meta_value ); return $mid; >

Cвязанные функции

metadata (метаданные)

  • add_comment_meta()
  • add_post_meta()
  • add_term_meta()
  • add_user_meta()
  • delete_comment_meta()
  • delete_metadata()
  • delete_post_meta()
  • delete_post_meta_by_key()
  • delete_term_meta()
  • delete_user_meta()
  • get_comment_meta()
  • get_metadata()
  • get_post_custom()
  • get_post_custom_keys()
  • get_post_custom_values()
  • get_post_meta()
  • get_site_meta()
  • get_term_meta()
  • get_the_author_meta()
  • get_user_meta()
  • has_term_meta()
  • is_protected_meta()
  • register_meta()
  • register_post_meta()
  • register_term_meta()
  • sanitize_meta()
  • the_author_meta()
  • update_comment_meta()
  • update_metadata()
  • update_post_meta()
  • update_term_meta()
  • update_user_meta()
  • wp_read_image_metadata()

Метаданные

Источник

Читайте также:  Java util concurrent locks reentrantreadwritelock readlock
Оцените статью