Как вернуть значение базы данных meta_value в Wordpress

108
08 февраля 2022, 16:20

Есть wordpress фреймворк Unyson, работает на bootstrap. Поддерживает расширения и кастомные опции. Имеется расширение Mega Menu, которое содержит 4 типа пунктов меню - item,column,row,default. Внутри каждого можно добавить свою опцию в виде асс. массива в моём случае :

$options = array( 
	'item_thumbnail' => array( 
		'type'   => 'upload', 
		'label'  => __( 'Image', 'fw' ) 
	), 
);

в тех. документации написано чтобы вернуть значение опции нужно вызвать хук fw_ext_mega_menu_get_db_item_option($item_id, 'default') Но у меня возвращает пустую строку. Если я вызову массив опции default то он мне выдаёт

array 
( 
    [item_thumbnail] => '' 
)

Хотя в админке изображение сохранено и если обновить страницу, то оно есть. Я решил поискать опцию item_thumbnail в базе данных и нашёл meta_key

fw:ext:mm:io:mysite

и meta_value к нему

a:5:{s:4:"type";s:7:"default";s:3:"row";a:0:{}s:6:"column";a:0:{}s:4:"item";a:1:{s:5:"fakir";s:7:"default";}s:7:"default";a:1:{s:14:"item_thumbnail";a:2:{s:13:"attachment_id";s:2:"11";s:3:"url";s:49:"//mysite.loc/wp-content/uploads/2020/01/01.jpg";}}}

Тоесть значение в массиве опции default есть, и содержит в себе массив с ключом url и ссылкой на файл. Как вернуть это значение?

Answer 1

Вообщем решил так : get_post_meta($item->ID); Дальше из массива нашел fw:ext:mm:io:mysite И выгрузил опцию с url.

Весь код писать смысла нет, так как задействовано несколько файлов. Спасибо за наводку Владимиру!

READ ALSO
Блок catch не срабатывает (PHP, конструкция try catch)

Блок catch не срабатывает (PHP, конструкция try catch)

У меня конечно элементарный вопрос, но вот никак не могу понять принцип работы конструкции try-catch на php

89
PhpMyadmin ошибка

PhpMyadmin ошибка

У меня ошибка в phpMyadmin, пропали все базы данныхКогда только захожу пишет

138
Масив php, вывести данные

Масив php, вывести данные

Здраствуйте, пожалуйста помогайте чайнику :)

98