WordPress - форум поддержки пользователей | русский ВордПресс

Помощь пользователям русского ВордПресс (WordPress)

Вы не зашли.

Объявление

#1 03.09.2007 05:35:25

AlexR
Новичок
Зарегистрирован: 03.09.2007
Сообщений: 5

Вывести заголовки последних постов на другой сайт

Подскажите, пожалуйста, как решить такую проблему

Есть сайт с обычными статичными страницами.
Главная страница  site.ru/index.php
Есть блог, который находится по адресу site.ru/blog
Главная страница сайта никак не связана с блогом.

Нужно на главной странице сайте выводить
заголовки последних постов в блоге.

Неактивен

 

#2 03.09.2007 06:39:12

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

Можно прямо из базы дернуть, а можно через RSS. Второй вариант более извращенный, но несколько проще для неискушенных в работе с БД. У меня на портале такая фишка реализована через БД, правда вместо блога стоит самодельный новостной движок.


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#3 03.09.2007 07:27:40

AlexR
Новичок
Зарегистрирован: 03.09.2007
Сообщений: 5

Re: Вывести заголовки последних постов на другой сайт

Ага... это-то я понимаю, что можно из базы дёргать...
Не могли бы вы код показать? У меня WP 2.2.2
(сам я с PHP не очень... с большим скрипом...)

А как с RSS?
Я читал уже ваши посты про такую штуку но что делать конкретно - не увидел.
Напишите, пожалуйста, на уровне "для чайника".

Я думаю, это многим будет интересно.

PS.
Кстати. У вас на форуме длина заголовока поста ограничена 70-ю символами.
Если бы разрешались более длинные загловки, то, по моему, было бы удобнее.
А так список тем смотришь - по коротким заголовкам не особо понятно, что там внутри.

Отредактированно AlexR (03.09.2007 07:30:35)

Неактивен

 

#4 03.09.2007 08:06:08

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

Судя по "Главная страница  site.ru/index.php", а не "index.html" с php Вы все-таки знакомы. Это очень хорошо!

Вот рыба:

Код:

<?
$mysql_host = 'localhost';
$mysql_user = 'user';
$mysql_pass = 'passwd';
$mysql_db   = 'wordpress';

mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die("Could not connect DB\n");
mysql_select_db($mysql_db) or die("Could not select database");

$result = mysql_query ("SELECT * FROM wp_posts WHERE post_type='post' ORDER BY post_date DESC LIMIT 5");
    while ($row = mysql_fetch_array ($result)) {
        print <<<TTT
<li><a href="http://www.home.lan/?p={$row['ID']}">{$row['post_title']}</a></li>
TTT;
    }

?>

Естественно, логин, пароль и т.д. и т.п. нужно подставить свои.
Ссылки получаются некрасивые, типа /?p=13, но рабочие. Можно поиграться и сделать нечто, похожее на ссылки внутри WP, но для этого придется использовать тот же механизм, что использован в WP, и следить за режимом формирования пермалинков. Это шибко заморочисто. С кодировкой, надеюсь, понятно - будет та же, что и в базе WP.

В варианте с RSS нужно найти какой-нибудь скриптец, показывающий RSS фиды на страницах, типа RSSChannel или cafeRSS. (Осторожно! Именно этот скрипт очень старый, многого не понимает и не умеет. Я его уже много раз доделывал-переделывал, но до совершенства ему как до звезды небесной.) Обычно такие штуковины идут в виде классов. На своей странице нужно будет его подключить, настроить внешний вид и скормить ему url блогового фида. В ридмях обычно очень внятно все расписано.


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#5 03.09.2007 08:44:11

AlexR
Новичок
Зарегистрирован: 03.09.2007
Сообщений: 5

Re: Вывести заголовки последних постов на другой сайт

Ю.Б., спасибо большое!

Только ситуация как в анекдоте про слепого нищего у синагоги, которому дали кусок мацы. "Очень интересно, но много неясного" :)

Вот, по порядку.
У меня, на самом деле страница  html+SSI, а под SSI иногда перловые скрипты прячутся. Про .php я написал, чтобы ещё большую путаницу не вносить, к тому же  html ещё и через php парсить не проблема.

Почитав, что вы пишете про RSS для себя решил, что лучше уж не надо...

Про прямое дёрганье из WP-шной базы.

Самые интересные места в вашем коде порезались... :(
Не могли бы вы ещё раз код написать, чтобы уже всё видно было.

И вот ещё, хм.. как оказалось появилась новая проблема.
Про кодировку (кстати, спасибо, что обратили внимание!)
У меня все "обычные" страницы в win-1251. А весь WP -  на юникоде.
Переводить весь сайт на юникод очень не хочется.
И переделывать кодировки в WP тоже не хочу (по опыту - не трогай, что работает :))

Подскажите, пожалуйста, как переконверчивать то, что достанется из WP-шной базы (в виде UTF-8) в win-1251.

Неактивен

 

#6 03.09.2007 09:04:47

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

Они не порезались, они попрятались. Такова уж специфика этого форума. (Господа админы, а не прикрутить ли к code горизонтальный скроллер? Только не спрашивайте у меня как :)). Вы мышой все что "код" отметьте и через клипборд перенесите в файл, там всё и увидите.

Через SSI можно не только перловку подключать, но и php. Сохраняете дергалку заголовков в файл, скажем, bh.php, а в html добавляете
<!--#include file="bh.php" -->

Перекодировать из utf в cp1251 проще простого:
$row['post_title'] = iconv("UTF-8", "windows-1251", $row['post_title']);


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#7 03.09.2007 09:15:52

AlexR
Новичок
Зарегистрирован: 03.09.2007
Сообщений: 5

Re: Вывести заголовки последних постов на другой сайт

Спасибо!
Сейчас буду пробовать ;)

Неактивен

 

#8 03.09.2007 09:16:48

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

Кстати, с моими домашними настройками php сразу отдала заголовки в виндовой кодировке, при том что база в utf-8 :)


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#9 03.09.2007 11:16:49

AlexR
Новичок
Зарегистрирован: 03.09.2007
Сообщений: 5

Re: Вывести заголовки последних постов на другой сайт

Ю.Б., спасибо! Всё заработало! :)

Опробовал в двух местах, в одном действительно кодировка то ли сама меняется о ли ещё что, но в общем всё и так нормально. А в другом - перекодировал, как вы написали - и опять всё хорошо. :)

Особенно мне понравилось скрещивание с SSI (сам я почему-то об это не додумался ;)  Так у меня остался как бы простой html, и в htaccess ничего менять не пришлось. Короче говоря, просто отлично получилось ;)

Кстати.
Этот кусочек кода вместе с объяснениями можно доработать и получится готовый кейс для таких чайников как, к примеру, я ;) А  по моему опыту (хотя и в другой области, но немалому) готовые кейсы - это то, что людям нужно больше всего... ;)

Неактивен

 

#10 03.09.2007 11:31:43

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

Кодировка не сама меняется, а зависит от настроек сервера, в частности от файлов my.cnf и/или my.ini . Мне в свое время довелось малость повоевать с настройкам, чтобы без лишних ухищрений php+mysql и терминал работали именно в cp1251, при том что mysql сам по себе работает в utf-8.


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#11 03.09.2007 12:04:33

sonika
Администратор
Откуда: Сочи
Зарегистрирован: 07.09.2006
Сообщений: 3910
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

Ю.Б. написал:

Господа админы, а не прикрутить ли к code горизонтальный скроллер?

Это Антона (ruromo) надо ждать


Гуглил, не нашел? | Личка — для общения, форум — для вопросов. Смертный грех №11 — не прочитать РИДМИ.

Неактивен

 

#12 03.09.2007 12:35:44

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

Ждать так ждать. Зато я уже знаю, как сделать: в стиль div для кода добавить
overflow: scroll; overflow-y: hidden; overflow-x: auto;


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#13 31.03.2009 03:13:41

shinkareff
Новичок
Зарегистрирован: 20.06.2008
Сообщений: 11
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

При моём почти полном незнании предмета, благодаря этому топику удалось выдать трансляцию на главную старого сайта, поставив ВП тут же в отдельную папку. Остановился на этапе выдаче поста: заголовок и дату взять из этой же таблицы могу, а текст поста идёт полностью. Но, дело не в этом. Пока искал и пробовал различные варианты, главная перестала открываться. То есть, весь старый сайт. А ВордПресс, который в нём, работает. Кеш чистил, стартовой страницей вообще теперь вернул дефолтную, без каких либо изменений. Результат не радует. Кажется, натворил я делов.

Теперь нужен совет: какую страницу скормить серверу, чтобы он показал, на чём останавливается загрузка?
HTML выдаёт исправно. Скорость нормальная. БД целая.
Стандартный  ПХП выполняется.

С загрузкой разобрался, восстановил нормальную работу, можно вернуться к творчеству.
Остановился на том, что из таблицы, в примере указанном выше, самым примитивным образом забрал дату и контент:

Код:

<a href="http://мой_сайт/news/?p={$row['ID']}">{$row['post_title']}</a>
{$row['post_date']}
{$row['post_excerpt']}

Таким способом решил проблему появления всего текста публикации.
В ВП приходится каждую статью делать с цитатой. Криво конечно.
Поэтому, вопросы:
1. Как забирать в трансляцию текст до тега "more"?
2. И количество комментариев заодно?

Отредактированно shinkareff (31.03.2009 03:50:23)

Неактивен

 

#14 31.03.2009 07:53:14

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

1. http://mywordpress.ru/support/viewtopic.php?id=4348 есть кусок нужного кода.
2. $row['comment_count']


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#15 13.04.2009 16:12:35

rM
Гуру-блогер
Зарегистрирован: 15.03.2007
Сообщений: 202
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

Ю.Б. написал:

Код:

<?
$mysql_host = 'localhost';
$mysql_user = 'user';
$mysql_pass = 'passwd';
$mysql_db   = 'wordpress';

mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die("Could not connect DB\n");
mysql_select_db($mysql_db) or die("Could not select database");

$result = mysql_query ("SELECT * FROM wp_posts WHERE post_type='post' ORDER BY post_date DESC LIMIT 5");
    while ($row = mysql_fetch_array ($result)) {
        print <<<TTT
<li><a href="http://www.home.lan/?p={$row['ID']}">{$row['post_title']}</a></li>
TTT;
    }

?>

Странно, пробовал этот код на странице (а точнее в отдельном файле, где кроме кода ничего нету) с UTF-8 кодировкой (в блоге тоже UTF-8), и вместо кириллицы вижу �������. Как быть?

Неактивен

 

#16 13.04.2009 18:24:14

sonika
Администратор
Откуда: Сочи
Зарегистрирован: 07.09.2006
Сообщений: 3910
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

сохраняли файл правильно?
страница загружается в  utf-8, не win-1251? (в меню браузера вид—>кодировка для firefox)


Гуглил, не нашел? | Личка — для общения, форум — для вопросов. Смертный грех №11 — не прочитать РИДМИ.

Неактивен

 

#17 13.04.2009 18:38:20

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

Добавить     mysql_query ("SET NAMES 'UTF8'");


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#18 13.04.2009 19:56:29

rM
Гуру-блогер
Зарегистрирован: 15.03.2007
Сообщений: 202
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

sonika, сохранено было в utf-8 и загружалось тоже в utf-8.

ЮБ, спасибо, сработало. Только возник ещё вопрос, можно ли ещё вывести произвольные поля? И как это сделать?

Неактивен

 

#19 13.04.2009 20:08:56

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

Аналогично :)
$result = mysql_query ("SELECT * FROM wp_postmeta WHERE ...
или ...FROM wp_posts, wp_postmeta WHERE...
А вот where, это уже как-нибудь сами придумаете. Тренироваться с составлением запроса советую в phpmyadmin.


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#20 04.05.2010 08:03:48

dimkaxxl
Новичок
Зарегистрирован: 04.05.2010
Сообщений: 1

Re: Вывести заголовки последних постов на другой сайт

Отличный скрипт, но как правильно сформировать запрос что бы выводились заголовки последних постов (записей) из определенной рубрики, например рубрики -  Новости ???

Код:

<?
$mysql_host = 'localhost';
$mysql_user = 'user';
$mysql_pass = 'passwd';
$mysql_db   = 'wordpress';
mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die("Could not connect DB\n");
mysql_select_db($mysql_db) or die("Could not select database");
$result = mysql_query ("SELECT * FROM wp_posts WHERE post_type='post' ORDER BY post_date DESC LIMIT 10");
while ($row = mysql_fetch_array ($result)) {
print <<<TTT
<li><a href="http://www.site.ru/blog/?p={$row['ID']}">{$row['post_title']}</a></li>
TTT;
}
?>

Отредактированно dimkaxxl (04.05.2010 08:05:15)

Неактивен

 

#21 22.02.2015 14:57:11

aglamedia
Новичок
Зарегистрирован: 22.02.2015
Сообщений: 1

Re: Вывести заголовки последних постов на другой сайт

Ребята, подскажите что исправить в коде чтоб можно было вывести произвольные поля? Не могу разобраться как это сделать

Код:

<?
$mysql_host = 'localhost';
$mysql_user = 'user';
$mysql_pass = 'passwd';
$mysql_db   = 'wordpress';
mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die("Could not connect DB\n");
mysql_select_db($mysql_db) or die("Could not select database");
mysql_query('SET character set utf8');
$result = mysql_query ("SELECT * FROM wp_posts WHERE post_status='publish' AND post_type='post' ORDER BY post_date DESC LIMIT 18");
while ($row = mysql_fetch_array ($result)) {
print <<<TTT
<li><a href="/vac/?p={$row['ID']}">{$row['post_title']}</a>
{$row['post_date']}
</li>
TTT;
}
?>

Неактивен

 

#22 22.02.2015 15:10:50

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

aglamedia написал:

Ребята, подскажите что исправить в коде чтоб можно было вывести произвольные поля? Не могу разобраться как это сделать

Ответ был дан двумя постами (и шестью годами) ранее.
mysql_query ("SELECT * FROM wp_postmeta WHERE post_id={row['ID']}")

Хотя более правильно будет собрать IDы постов и получить все метаданные одним запросом к БД.


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#23 07.12.2017 16:37:22

isedova
Новичок
Зарегистрирован: 03.12.2017
Сообщений: 3
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

постою послушаю

Неактивен

 

#24 14.12.2017 06:54:25

RichardSum
Новичок
Откуда: Papua New Guinea
Зарегистрирован: 20.09.2017
Сообщений: 14
Вебсайт

Re: Вывести заголовки последних постов на другой сайт

Сейчас практически каждый испытывает финансовые трудности.
Нехватка денег отражается на всехх сторонах жизни.
У Вас есть шанс зарабатывать до 200 000 рубей в месяц.
Попробуй совершенно бесплатно новую платформу бинарных опционов.
А также заработок на росте биткоина!!!!
Вот мой заработок за месяц.
http://i99.fastpic.ru/big/2017/1213/8a/0aa09593e27c95c6a236fd643596078a.jpg

Регистрируйся и будешь зарабатывать столько же!!!

http://bit.ly/2jTu29l

Специальное предложение заработок на росте биткоина!!!! Рост биткоина каждый день стремительно идет вверх, не прогадаешь.

http://bit.ly/2jQCQwM


http://bit.ly/2jTu29l

Неактивен

 

Board footer

Работает на PunBB
© Копирайт 2002–2005 Rickard Andersson