GoGetLinks диктует условия. Подстраиваемся без потерь

Во вчерашней статье «Адаптация шаблона под GoGetLinks в одной или нескольких рубриках» я подал идею того, как разделить уже имеющийся шаблон на две части, одна из которых будет адаптирована под требования биржи GoGetLinks, и будет с малым количеством ссылок, и другую, которая не принесет изменений в оформление блога. На самом деле идея проста. С помощью стандартной функции WordPress 'in_category' и условного оператора if, можно разделить шаблон на две части и переводить систему в ту часть шаблона, которая предназначена для тех или иных нужд.

Сейчас другая проблема. В списке последних постов появляются все посты, которые мы пишем. Заметки для GoGetLinks часто не соответствуют общей тематике блога. Как-то нелогично выводить их в общем списке последних постов.

Я предлагаю сделать два списка последних публикаций, разделив их, так же как разделен весь наш шаблон, на две части: для общего пользования и для GoGetLinks.

Пользуемся функциями, которые придумывает талантливейший веб-программист Тимур Камаев

Сначала дописываем в файл function.php рабочей темы следующую функцию:

/** Последние записи
------------------------------------------------------
$post_num (5) = количество ссылок
$format ('') = {date:j.M.Y} — {a}{title}{/a} ({comments})
$list_tag (li) = Тег списка
*/
function kama_recent_posts ($post_num=5, $format = '', $cat='', $list_tag='li', $echo=true){
global $post, $wpdb;
$cur_postID = $post->ID;
if ($cat){
$CatJOIN = «LEFT JOIN $wpdb->term_relationships rel ON ( p.ID = rel.object_id )
LEFT JOIN $wpdb->term_taxonomy tax ON ( tax.term_taxonomy_id = rel.term_taxonomy_id  )»;
$DISTINCT = «DISTINCT»;
$AND_taxonomy = «AND tax.taxonomy = 'category'»;
preg_match_all ('/-[0-9]*/', $cat, $cat_exclude); //Проверка на исключение категорий
$cat_exclude = str_replace ( '-','', implode ($cat_exclude[0],',') );
if ($cat_exclude) $AND_category = «AND tax.term_id NOT IN ($cat_exclude)»;
else $AND_category = «AND tax.term_id IN ($cat)»;
}
$sql = «SELECT $DISTINCT ID, post_title, post_date, comment_count, guid
FROM $wpdb->posts p $CatJOIN
WHERE post_type = 'post' AND post_status = 'publish' $AND_category $AND_taxonomy
ORDER BY post_date DESC LIMIT $post_num»;
$results = $wpdb->get_results ($sql);
if (!$results) return false;
preg_match ('!\{date:(.*?)\}!',$format,$date_m);
foreach ($results as $pst){
$x == 'li1' ? $x = 'li2' : $x = 'li1';
if ( (int)$pst->ID == (int)$cur_postID ) $x .= « current-item»;
$Title = $pst->post_title;
$a1 = «<a href='». get_permalink ($pst->ID) . «' title='{$Title}'>»;
$a2 = «</a>»;
if ($format){
$date = apply_filters ('the_time', mysql2date ($date_m[1],$pst->post_date));
$Sformat = str_replace ($date_m[0], $date, $format);
$Sformat = str_replace ('{title}', $Title, $Sformat);
$Sformat = str_replace ('{a}', $a1, $Sformat);
$Sformat = str_replace ('{/a}', $a2, $Sformat);
$Sformat = str_replace ('{comments}', $pst->comment_count, $Sformat);
}
else $Sformat = $a1.$Title.$a2;
$out .= «\n<$list_tag class='$x'>{$Sformat}</$list_tag>»;
}
if ($echo) echo $out;
else return $out;
}
Дальше в сайдбар, или в то место, где вы хотите вывести последние записи вносим следующие конструкции:
<!--  вывод последних постов из всех категорий, кроме той, которая предназначена для GoGetLinks -->
<?php kama_recent_posts (15, '{a}{title}{/a}<br/>({date:j M.Y}, {comments} комм.)','-851');  ?
<!-- 851 замените на ID вашей рубрики, предназначенной для Gogetlinks -->
Дальше на некотором отдалении от «Последних публикаций» помещаем функцию, которая выводит последние посты только из той рубрики, которая предназначена для биржи.
<!--  вывод последних постов из категории, в которой размещаются статьи для GoGetLinks -->
<?php kama_recent_posts (15, '{a}{title}{/a}<br/>({date:j M.Y}, {comments} комм.)','851');  ?
<!-- 851 замените на ID вашей рубрики, предназначенной для Gogetlinks -->
Назовите последний блок как нибудь необычно, например, «Неподшитое» или «Продвинутые новости» и многим станет интересно.
Посмотрите ссылки на мои рекламные посты стоят в самом низу сайдбара и называются «Advanced»
  1. Kama

    >>> талантливейший веб-программист

    Спасибо!

    Мне аж неудобно — какие громкие слова :-[

      1. Наблюдатель

        Женя, спасибо за своевременно поднятую тему.

        А Тимуру отдельное спасибо за его сайт — много вкусностей и полезностей для себя нашел я там.

        p.s. Почему-то приходится авторизоваться в комментариях... 🙁

        1. eavasi Автор записи

          Потому что комментарий без автора — это не комментарий.

          Поэтому и приходится авторизоваться.

  2. Уведомление: Гостевые посты. Взаимно увеличиваем популярность блогов.

  3. Иван

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

    1. eavasi Автор записи

      При определенном упорстве и умении, Иван, там можно заработать очень хорошо. Не хочу хвастаться, но у меня кое что получается )))

  4. Уведомление: GoGetLinks, Android, вредоносный код и многое другое.

  5. Флаг

    В гогетлинкс, например, и правда можно хорошо подзаработать и далеко не мелочь 🙂 Проверено.

    И спасибо за код. Пригодится.

    1. eavasi Автор записи

      Речь о мелочи — это так, рисовка. А что код пригодился — это очень приятно. Согласен, что заработать можно прилично.

  6. Светлана Бобровская

    Я только сейчас начинаю задумываться о монетизации, и снова встречаю информацию, что GoGetLinks лучший вариант. Внимательно прочла информацию, посмотрела ссылки. Понравился вывод отдельной категорией статей, очищенный шаблон не слишком понравился пустотой, так и хочется справа что-то добавить. Может быть туда загонять иллюстрации к посту?

    Вопросы по существу: статьи из этой специальной рубрики вы сами пишите?;)

    На сегодняшний день Вы используете эти самые показанные коды, или уже что-то поменяли?

    1. eavasi Автор записи

      Именно эти коды и использую, ничего не менял со дня написания этой статьи.

      Все статьи пишу сам. Рекламодатели знают об этом и заказывают много, бывает, что очень много.

Добавить комментарий

Ваш e-mail не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.