Москва, Строительный проезд, 7А кор. 4 Работаем: 24/7 +7 495 744 67 74

Два блога в одном на WordPress

Доброе время суток. В основном все кто пишут блоги на WordPress не нуждаются в дополнительной переработке шаблонов или вообще кода. Но бывает в голову приходят интересные идеи, выполнить которые без переделки шаблона невозможно. И сегодня я хочу рассказать, как можно на одном сайте (под одним доменом) писать два разных по тематике блога из одной админки. Например, самый простой вариант, есть один сайт с двумя страницами. На каждой из страниц выводятся анонсы двух различных по тематике блогов, которые пишуться из одной админки одного WordPress. Т.е. при написании поста можно указать к какому блогу его нужно отнести.

Сделать это достаточно просто и даже особых навыков в программировании не нужно иметь. Допустим есть сайт mysite.ru. Для начала, необходимо создать две категории, которые будут главными (родительскими) для каждой из отдельных тематик. Т.е. все остальные категории должны быть дочерними по отношению к этим двум главным. Например первый блог будет с тематикой Рыбалка, а второй SEO. И будет следующая структура категорий:

1
2
3
4
5
6
7
8
9
10
11
12
13
Рыбалка (id = 3)
— Блесна
— Сети
— Покупка
— Ремонт
— Прикормка

SEO (id = 9)
— Оптимизация
— Оптимизация текста
— Оптимизация страницы
— Контекстная реклама
— Поисковые системы

Может быть любая структура, но идея в том, чтобы все категории были подчинены одной из двух главных. И теперь, когда будет писаться пост необходимо просто указать категорию принадлежащую к нужной тематике. Кстати, айдишник указан в скобках не зря, его необходимо знать. Дальше будет понятно зачем. Если кто не знает, где посмотреть id категории, то я поясню: необходимо войти в админке на страницу создания рубрик, навести мышкой на необходимую рубрику и в ссылке увидите переменную tag_ID ее значение вам и нужно.

Теперь необходимо сделать так, чтобы каждая из тематик выводилась на разных страницах. Это можно сделать различными способами, но я продемонстрирую всего один, который мне кажется самым простым. Пусть первый блог выводится в шаблоне через index.php, а для второго создадим индивидуальный шаблон. В начале отредактируем index.php так, чтобы он выводил анонсы только из категории Рыбалка. Для того чтобы заставить главный цикл выводить анонсы только нужной категории и ее подкатегорий нужно перед циклом указать ему на это следующим кодом:

1
2
3
<?php
query_posts(‘paged=’.get_query_var(‘paged’).‘&cat=<id_категории>’);
?>

Соответственно вместо <id_нужной_категории> нужно указать id нашей категории. Я думаю тут все понятно и я не буду размусоливать, а лучше сразу покажу минимальный рабочий код index.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php get_header(); ?>

<div id=»content» class=»narrowcolumn»>
<?php if (have_posts()) : ?>
<?php
query_posts(‘paged=’.get_query_var(‘paged’).‘&cat=3’);
?>
<?php while (have_posts()) : the_post(); ?>
<div class=»post»>
<h2><?php the_title(); ?></h2>
<?php the_excerpt(); ?>
</div>
<?php endwhile; ?>
<div class=»navigation»>
<div class=»alignleft»><?php next_posts_link(‘Previous’) ?></div>
<div class=»alignright»><?php previous_posts_link(‘Next’) ?></div>
</div>
<?php else : ?>
<h2>Страница не найдена</h2>
<?php endif; ?>
</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Сейчас на главной сайта будут выводится только анонсы из блога про рыбалку. Хорошо, теперь необходимо где-то вывести второй блог про SEO. Для этого создадим в блоге новую страницу и установим для нее индивидуальный шаблон. Но вначале сделаем этот индивидуальны шаблон, для этого идем в директорию с темой, копируем файл index.php  и переименовываем в seo.php. Открываем его для редактирования, пишем сверху название шаблона, правим категорию для вывода и получаем следующий шаблон:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
/*
Template Name: SEO
*/

?>
<?php get_header(); ?>

<div id=»content» class=»narrowcolumn»>
<?php if (have_posts()) : ?>
<?php
query_posts(‘paged=’.get_query_var(‘paged’).‘&cat=9’);
?>
<?php while (have_posts()) : the_post(); ?>
<div class=»post»>
<h2><?php the_title(); ?></h2>
<?php the_excerpt(); ?>
</div>
<?php endwhile; ?>
<div class=»navigation»>
<div class=»alignleft»><?php next_posts_link(‘Previous’) ?></div>
<div class=»alignright»><?php previous_posts_link(‘Next’) ?></div>
</div>
<?php else : ?>
<h2>Страница не найдена</h2>
<?php endif; ?>
</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Все сохраняем и идем в админку создавать страницу (если еще не создана). Пишем ей постоянную ссылку /seo и в виджете Атрибуты страницы меняем Базовый шаблон на только что созданный SEO. Сохраняем страницу и все готово. Теперь все посты написанные на обе тематики будут выводится каждая на своей странице. Блог про рыбалку будет выводиться в корне сайт mysite.ru/, а про оптимизацию по адресу mysite.ru/seo/. Осталось настроить ссылки в меню на оба эти адреса и все готово.

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

Вот примерно так можно вести два блога на разные тематики на одном WordPress и одном домене. Это конечно наиболее простой и отчасти удобный, но не самый лучший способ. Например, при раскрутки лучше иметь два блога на различных поддоменах одного домена, которые будут выступать как отдельные сайты, раскручиваться как отдельные сайты и соответственно перелинковываться друг с другом как отдельные сайты. Но это уже отдельная тема, а на сегодня все. Всем удачи в блогостроении.


адрес

г. Москва, Строительный пр., 7Ак4

телефон

+7 495 744 67 74Круглосуточно
Яндекс.Метрика

Если у Вас есть вопросы, жалобы или предложения по работе нашей компании, напишите нам Нам важно любое мнение. Спасибо.