HEMASTER

Рейтинг
94
Регистрация
22.08.2010
Sitealert:
В массиве $myrow находятся все записи, которые принадлежат одному автору под номером 3.

Что то тут не так , потому что если добавить для проверки в цикл:

echo $myrow[0]."<br />";

echo $myrow[1]."<br />";

то выведутся 2 раза id и текст одной записи. Не хватает цикла перебора самих статей мне кажется.

---------- Добавлено 24.12.2016 в 13:16 ----------

---------- Добавлено 24.12.2016 в 13:17 ----------

все равно не работает.

Sitealert:
Если хотите получить помощь, то ставьте осмысленные условия, а не всякую ахинею. Написать нормальный код для той задачи, что Вы поставили - как два пальца об асфальт, только сама задача абсолютно глупая и бестолковая.
$db = mysql_connect ("localhost","xxx","73sk8pkF");
mysql_select_db ("xxx",$db);
mysql_query('SET NAMES cp1251');

$result = mysql_query ("SELECT ID,post_content FROM wp_posts WHERE post_author = '3' AND post_status = 'publish'",$db);
$myrow = mysql_fetch_array ($result);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){$myrow[] = $row;}

$sites = array(
"http://11.ru/",
"http://22.ru/"
);

foreach ( $sites as $site ) {
foreach ( $myrow as $arr ) {
if (!strpos($arr['post_content'], 'mylink'))
{
$arr['post_content'] = $arr['post_content'].'<p>Источник: <a href="'.$site.'" class="mylink">'.$site.'</a></p>';
mysql_query ("UPDATE wp_posts SET post_content = ".$arr['post_content']." WHERE ID = ".$arr['ID'],$db);
break;
}
}
}

не работает...

В массиве $myrow находится 2 элемента ID и post_content одной записи. Поэтому наверно не работает. Не хватает цикла перебора статей.

Sly32:
Сотрите это и никому не показывйте!!! mysql_connectпри работе с Вордпресс - сразу отрубить руки.Если хотите сохранить руки, то:

- Идете в кодекс(если проблема с англ- на каму) Читаете про правильное подключение к базе в ВП и использование своих таблиц
- Читаете про регулярки и как проверить в тексте наличие ссылок - это пара строк кода, получил the_content() Проверил, выполнил что нужно
- читаете про апдейт записей для ВП, делаете.

Бред , все прекрасно работает.

Sitealert:
Но тогда ссылки будут в первых 10 статьях. А остальные 20, или 200, или 990 будут без ссылок. Смысл какой?

Дак в этом и смысл, проставить на сайте в статьях все ссылки, зачем трогать остальные статьи? Если вы не можете осознать элементарные вещи, то не пишите здесь, потому что помощи нет, а глупые, вводящие в заблуждение всех, вопросы есть.

Sitealert:
Да у Вас и само условие непонятное. Я вот всё пытаюсь его осмыслить, но никак не получается:
"нужно найти статью без ссылки" - а если все без ссылки, то какую выбрать?

первую попавшуюся.

Sitealert:

"пока не закончатся все домены в массиве" - статей 30, а доменов 10, что делать с остальными статьями?

прервать цикл, когда будут проставлены все домены.

Sitealert:
Бррр... Лучше бы ничего не писали, а просто попросили написать скрипт по заданным условиям... Потому что чушь написана, прошу прощения, если обидел.

не обидели, сам вижу что не работает..

---------- Добавлено 24.12.2016 в 11:42 ----------

Может кто подскажет правильное направление. Условия такие: нужно найти статью без ссылки, затем взять домен из массива и вставить в конец текста этот домен и т.д. пока не закончатся все домены в массиве. Вроде просто, но как реализовать не пойму..

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

текст 1

Источник: http://11.ru/

текст 2

Источник: http://11.ru/

текст 3

Источник: http://22.ru/

Все еще покупаю домены! Пишите в ЛС или в скайп.

Что ни у кого нет доменов?

Покупаю домены с ТИЦ от 150. У кого есть такие пишите в скайп hemasters

Всего: 140