Intereting Posts
Возвращает пользовательское значение в функции, добавленной в действие Символьные ссылки на dev box с плагинами и таблицами стилей Как проверить, существует ли мета-ключ сообщения в базе данных wordpress Как оптимизировать сайт WP для миллионов сообщений Как связать ссылку с заголовком в пользовательском поле новый WP_Query () – каков самый ранний допустимый крючок? Flexslider не будет работать на WordPress Я получаю «Библиотека даты и времени PHP не поддерживается вашим веб-хостом» на моем хосте CentOS, какую библиотеку мне нужно установить для добавления поддержки? wp_insert_post неверно избегает комментариев HTML, когда они включают теги Пользовательские типы сообщений – RSS lastBuildDate Перечислить дочерние страницы с помощью slug not ID? WordPress не отвечает после вызова wp_update_comment () Как я мотать HTTP-запросы для PHPUnit? Что такое Oembed Links For? Нужно ли мне повторно импортировать Susy для работы с ним в дочерней теме?

Что не так с моей подготовкой wpdb $

Я не могу обдумать это. Я получаю эту ошибку:

Ошибка синтаксиса: синтаксическая ошибка, неожиданная «» в 224. Линия это между foreach $ html:

$html = ''; foreach ( $recent_across_network as $post ) { $html .= 'blog_id, $post->ID ) . '">' . $post->post_title . ''; } $html .= ''; 

Также я получаю ошибку в $ wpdb-prepare:

 $site_list = $wpdb->get_results( $wpdb->prepare('SELECT * FROM wp_blogs ORDER BY blog_id') ); 

Подготовьтесь, я считаю, что нужно будет аргументировать? Поэтому я попробовал это:

 $site_list = $wpdb->get_results( $wpdb->prepare('SELECT * FROM wp_blogs ORDER BY blog_id = %d', $wpdb->blogid) ); 

Но это не работает: s

EDIT: код основан на функции «wp_recent_across_network» в этой статье: http://www.smashingmagazine.com/2011/11/17/wordpress-multisite-practical-functions-methods/

Solutions Collecting From Web of "Что не так с моей подготовкой wpdb $"

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

Первое, что я думаю, это проблема с одиночными и двойными кавычками:

Попробуй это:

 $html = ''; foreach ( $recent_across_network as $post ) { $html .= 'blog_id, '.$post->ID.' ) . '">' . $post->post_title . ''; } $html .= ''; 

Строка в foreach помещает $ post-> ID в одинарные кавычки, которые не будут оценивать ее значение, а скорее помещают точную строку в $ html.

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

Также вы должны получить доступ к таблице через помощник, а не напрямую, так как префикс таблицы не является wp_, ваш запрос не будет работать. Прочтите описание класса WPDB для подробностей подготовки, имен таблиц и т. Д.

 $site_list = $wpdb->get_results( $wpdb->prepare('SELECT * FROM wp_blogs ORDER BY blog_id = %d', $wpdb->blogid) ); //becomes $site_list = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->blogs ORDER BY blog_id = %d", 1) ); 

Отказ от ответственности – я не проверял это!

Надеюсь, поможет

Вам не нужно вызывать $wpdb->prepare() поскольку исходный SQL-запрос не содержит никаких данных от пользователя. Второй запрос – SELECT * FROM wp_blogs ORDER BY blog_id = %d – имеет синтаксическую ошибку (предложение ORDER BY не принимает значение = %d ), и поэтому не будет работать.

(По крайней мере, я уверен, что это так. Я не могу найти что-либо в документах MySQL, чтобы указать, что ORDER BY blog_id=%d будет работать в любом случае.)

Кроме того, если вы пытаетесь получить список сайтов в многоуровневой установке, я рекомендую использовать wp_get_sites() вместо того, чтобы изобретать колесо.