#wordpress #server #localhost #post-meta #meta-query
#wordpress #сервер #localhost #post-meta #мета-запрос
Вопрос:
Я создаю плагин в WordPress, а запросы $ wpdb работают на local, но когда я загружаю код на сервер, он не работает.
Вот код, который я использую:
<?php
global $wpdb;
$resultado = $wpdb->get_results(
$wpdb->prepare(
"SELECT meta_value FROM wp_postmeta WHERE meta_key='keywords'",
OBJECT
)
);
$keywords = implode(',', array_column($resultado, "meta_value"));
?>
Комментарии:
1. Два замечания: 1) Если вы не передаете переменные в запрос, вам вообще не нужно использовать метод prepare() ; и 2)
OBJECT
должен быть передан в get_results() , а не вprepare()
метод.2. вы уверены, что имя таблицы на сервере одинаковое
wp_postmeta
, но иногда префикс может отличаться. Попробуйте что-то вродеglobal $wpdb, $table_prefix;$table = $table_prefix . 'postmeta';
3. теперь я попробовал с глобальным ` $ wpdb, $table_prefix; $table = $table_prefix . ‘postmeta’;` и изменил запрос на ` $resultado = $wpdb-> get_results («ВЫБЕРИТЕ meta_value ИЗ $table, ГДЕ meta_key =’keywords'», OBJECT );` и это работает налокальный, но все еще не работает на сервере