balboa 33 Posted October 8, 2016 Report Share Posted October 8, 2016 Всем привет Возникла задача: Нужно сделать вывод текстовых данных из ячеек нового столбца, таблицы 'wp-post' в шаблоне сайта. Сайт на wordpress Опишу подробнее. Нужно чтобы для каждой публикации, выводилось свое текстовое значение, записанное в ячейку таблицы БД. Значения в БД я внес, теперь дело за малым, научиться их выводить в шаблоне, для каждого поста свое. В сети нашел такой код: <?php // ваш адрес где находится, хостится ваша база данных $sdd_db_host=''; // Имя базы данных с которой вы хотите работать, так как их может быть множество $sdd_db_name=''; // логин доступ к базе данных $sdd_db_user=''; // пароль доступа к базе данных $sdd_db_pass=''; // устанавливаем связь с сервером @mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass); // переключаемся на нужную нам базу данных @mysql_select_db($sdd_db_name); // делаем выборку из таблицы $result=mysql_query('SELECT * FROM `table_name`'); // берем результаты из каждой строки while ($row=mysql_fetch_array($result)) { // выводим данные echo '<p>Запись id='.$row['id'].'. Текст: '.$row['text'].'</p>'; }// /while ?> База подгружается, таблица и данные находятся, но они выводятся все подряд, а не те которые прописаны к определенным постам. Просьба помочь настроить вывод данных. В данном примере, столбец с уникальными данными к постам, будет называться 'text' Link to post Share on other sites
VIP campusboy 912 Posted October 8, 2016 VIP Report Share Posted October 8, 2016 Ух, как только не извращается народ над движком по не знаю. А почему бы такой текст не хранить в произвольном поле? Link to post Share on other sites
balboa 33 Posted October 8, 2016 Author Report Share Posted October 8, 2016 Ух, как только не извращается народ над движком по не знаю. А почему бы такой текст не хранить в произвольном поле? Сайт совсем не стандартный, скорее сервис. Однако суть проблемы, вывод произвольных данных из БД Link to post Share on other sites
VIP campusboy 912 Posted October 8, 2016 VIP Report Share Posted October 8, 2016 Сайт совсем не стандартный, скорее сервис. Однако суть проблемы, вывод произвольных данных из БД Я и говорю, как надо хранить дополнительные данные. Wordpress стандартными своими функциями вывода постов работает только со стандартными полями своей базы. Чтобы работать с произвольными таблицами и так далее есть специальный класс для работы с БД под названием wpdb. diplomdistant 1 Link to post Share on other sites
woolfon 51 Posted October 12, 2016 Report Share Posted October 12, 2016 Скорее всего выборку надо делать заранее в sql запросе: // делаем выборку из таблицы $result=mysql_query('SELECT * FROM `table_name` WHERE `post_id`=`айди выбранного поста`'); только для того чтобы узнать айди выбранного поста, скорее всего придется делать еще один sql запрос, сложно решить задачу, мало искомых данных, или я просто чегото не допонял, пишите в лс постараюсь помочь Link to post Share on other sites
desg 55 Posted October 12, 2016 Report Share Posted October 12, 2016 Здравствуйте.ТС Вы наверное что-то путаете, объясню почему:1) Когда Вы устанавливали WP Вы уже подключались к БД, зачем делать подключение еще раз? это та же БД или нет? 2) // делаем выборку из таблицы $result=mysql_query('SELECT * FROM `table_name`'); в этом запросе Вы получаете все данные которые находятся в таблице и чуть ниже Вы сами же пишите что столбец с уникальными данными будет называться "text", с этого мы имеем запрос такого вида: 'select text(то что ищем) table (где ищем) where post_id =' $id - id поста нужно получить перед этим запросом 3) Я полностью согласен с campusboy используйте произвольные поля и выводите их без особых трудностей где хотите и как хотите... 4) WP построен на ООП и в нем присутствует собственный класс для работы с БД работающий на PDO, а Вы используете запросы прошлого века - тем самым делаете свой сайт уязвимым... campusboy 1 Link to post Share on other sites
balboa 33 Posted October 13, 2016 Author Report Share Posted October 13, 2016 Вопрос закрыт, Всем спасибо за помощь. Сделал через произвольные поля + <?php echo get_post_meta($post->ID, 'тут имя поля', true); ?> campusboy 1 Link to post Share on other sites
Recommended Posts