Почему $ wpdb работает на localhost, но не работает на сервере

#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 );` и это работает налокальный, но все еще не работает на сервере