2009-12-16 2 views
0

Во-первых, я не знаком с WordPress, я активно использовал его для различных облегченных пользовательских CMS с ранней версии 1.x.Wordpress the_author() и wp_get_archives() не работают

Я использую новую сборку 2.8.6 для очень простой сборки блога. Только одна категория и только один «единственный» шаблон. Других функций нет, поэтому на сайт действительно нужны файлы index.php и single.php в каталоге тем.

Проблемы: the_author() не работает на single.php и работает только частично на index.php. Частично, я имею в виду, что теги работают для первого элемента в цикле, но затем не работают после этого.

wp_get_archives() не содержит содержимого на боковой панели, несмотря на то, что в блоге опубликованы 14 тестовых статей, опубликованных в мае этого года.

Описание ошибки: Таинственное отсутствие «эха» из этих тегов не останавливает загрузку страницы. Мой CSS-шаблон отлично отображает (и это не CSS, скрывающий что-либо). Теги просто не выводят на экран.

Средства правовой защиты Я пробовал: Я пробовал использовать get_userdata() с автором сообщения, но даже это не работает. Я могу получить сообщение author_id из базы данных ($post->author_id), но get_userdata() ничего не возвращает при подаче этой переменной на single.php или для любых сообщений после первого в цикле.

Я также пробовал все стандартные трассировочные решения, такие как print_r() и пытаясь заставить функцию возвращать переменную для анализа ее содержимого - не повезло.

Если у кого-нибудь есть идеи, что может быть причиной этого, пожалуйста, свяжитесь с нами! Раньше у меня никогда не было глупых проблем с WordPress. Благодарю.

+0

Просто проверьте, но вы уверены, что ваш звонок находится внутри The Loop? –

+0

Hi K Prime - yep - определенно в Loop! – Aaron

+0

Легкий? oh well ...;) – Franz

ответ

0

Узнали, что происходило (ish).

Я использую собственный класс PHP для предоставления некоторых дополнительных функций, которые я повторно использую во многих местах. Этот класс использует собственное соединение с базой данных, и по какой-то причине, когда вызывается mysql_close(), он завершает вызовы, сделанные с помощью функций__события() и wp_get_archives().

Возможно, обойти это с помощью $ wpdb, но не уверен, насколько сложно будет это интегрировать.

В любом случае, надеюсь, что это поможет кому-то другому.

0

В этом случае ваш класс использует $ wbdb-> dbh для своего дескриптора соединения. Таким образом, только одно соединение db открыто и делится между WordPress и вашим классом.

Смежные вопросы