✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

get_post_meta Редактор блоків WordPress (Gutenberg) Еквівалент getEditedPostAttribute(‘meta’)

15

Якщо ви новачок у написанні плагінів для редактора блоків WordPress (Gutenberg), можливо, ви шукаєте, як отримати мета поточної публікації за допомогою get_post_meta.

Ніколи не бійтеся, ви все ще можете get_post_meta, просто скористайтеся getEditedPostAttribute('meta')поточною публікацією, щоб отримати всі мета-файли, наприклад:

const meta = wp.data.select('core/editor').getEditedPostAttribute('meta');

Поки ви зробили свій мета-ключ доступним в решті API, тепер ви можете отримати його зі metaзмінної.

const meta = wp.data.select('core/editor').getEditedPostAttribute('meta');

const metaExample = meta['wholesomecode_meta_key_example'];

У наведеному вище коді я беру значення мета( wholesomecode_meta_key_example) мого повідомлення та передаю його в змінну metaExample.

Щоб переконатися, що мета вашої публікації доступна в Gutenberg, її потрібно зареєструвати та переконатися, що show_in_restвстановлено значення true.

add_action( 'init', 'register_meta');

function register_meta() {
    register_post_meta(
        'post',
        'wholesomecode_meta_key_example',
        [
            'show_in_rest' => true,
            'single'       => true,
            'type'         => 'string',
        ]
    );
}

Отримайте мета з іншого ідентифікатора публікації

Якщо ви хочете отримати мета допису іншого допису, ви можете використати getEntityRecordта передати йому ідентифікатор допису, який ви хочете отримати:

const {meta} = wp.data.select('core').getEntityRecord('postType', 'post', 42);

У наведеному вище прикладі мета допису (за умови, що він зареєстрований) тепер міститься у metaзмінній.

Використання getEntityRecord— це еквівалент виконання get_post у Gutenberg.

Спробуйте в консолі

Увійдіть на свій сайт і використовуйте wpоб’єкт на консолі під час редагування публікації, щоб спробувати це на собі. Ви повинні отримати простий у роботі об’єкт JSON мета публікації:

wp.data.select('core/editor').getEditedPostAttribute('meta');
{
   wholesomecode_meta_key_example: 'Example',
}

Оновлення мета публікації

Якщо ви хочете оновити мета публікації з WordPress Gutenberg, ви можете зробити це за допомогою editPostтаeditEntityRecord.

Джерело запису: wholesomecode.ltd

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі