Как скрыть информацию от гостей в WordPress?

Сегодня я раскажу о функции current_user_can() в WordPress, c помощью которой можно скрыть информацию от гостей, или наоборот, показывать ее только им. Я не любитель теории, поэтому сразу же перейдем к практике.

И все же пара строк, как ей пользоваться (level_10 — уровень админа):


// нужная информация,  будет показываться 
// только администратору


// нужная информация,  будет показываться всем,
// кроме администратора  (т.к. в начале функции - отрицание)

Вместо level_10, понятное дело, может быть другой уровень. Теперь мы знаем как пользоваться данной функцией!

Права пользователей (стандартные в WordPress):

level_0 — подписчик
level_1 — участник
level_2 — автор
level_3 — level_7 — редактор
level_8 — level_10 — администратор

А теперь примеры.

Меню для администратора:



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

Вывод для гостей:


// информация для гостей

В основном это нужно на блогах, где используется регистрация (или несколько ведущих).

На этом пока все, если покапаться в функции current_user_can, то можно найти еще много интересного. Так же я писал о выводе трэкбэков только админстратору.

Акция — ссылка каждому!

Отделение TrackBack ‘ов от комментариев. Продолжение

Небольшое дополнение к статьте Отделение TrackBack ‘ов от комментариев. Я расскажу как избавится от заголовка при отсутствии трекбэков. Но для начала, желательно, прочтите ту статью, прежде чем читать эту.

Итак, как я и говорил, избавится от ненужного заголовка можно с помощью еще одного цикла. Приступаем.

1. Перед выводом трэкбэков считаем сколько их.

2. В зависимости от количества трэкбэков выводим заголовок и сами трэкбэки.

 0) { ?>

Трэкбэки


Все, теперь все работает как надо. Рабочий пример на моем блоге.

————
Недавно я писал об открытии новой социальной сети для блоггеров. Так вот, на showblogs.ru изменился дизайн, а так же появилась реферальная система. Следите за новостями.

Как убрать редирект в WordPress?

Не так давно я писал о том, как не потерять посетителей и увеличить количество страниц на блоге. Хочу ее дополнить небольшим, но очень значимым фактом.

Для начала, по-мойму, статью не все поняли. На что я скажу: «Ну и ладно, это ваши проблемы, я рассказал, ваше дело понять!» 🙂 Скажу лишь, что таким образом на одном из моих проектов не 2000 страниц, а 4000 и почти со всех продаются ссылки в сапе 🙂

Итак, дело в том, что используя этот способ в новых версиях WordPress (начиная c 2.3) дополнительные страницы создаваться не будут, т.к. по умолчанию стоит редирект на основные адреса.

Чтобы исправить это, нужно всего-лишь убрать этот самый редирект. Делается это с помощью одной строки:

1. Открываем файл functions.php, находящийся в папке вашей темы.

2. Добавляем следующую строчку в файл:

remove_action(’template_redirect’, ‘redirect_canonical’);

Все! Теперь данный способ увеличения страниц будет работать и в новых версиях WordPress.

Удачи!

———-
Постовой (как сюда попасть?)

Жизнь в сети — блог Ирины Александровой
Блог о менеджменте веб-проектов
Мобильный web 2.0 портал Mobile-ON представляет: все про мобильные телефоны ведущих брендов: Nokia, Samsung.

Как не потерять посетителей и увеличить количество страниц на блоге?

Вы захотели поменять адреса страниц блога? Но боитесь, что предыдущие адреса страниц не будут работать? Данная проблема решается очень легко.

Разберем на примере. При прежних настройках адрес этой записи выглядел бы так: http://bishai.ru/archives/35/

При тех настройках, что я сейчас сделал в WordPress, страница выглядит так: http://bishai.ru/35

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

Данную возможность можно реализовать достаточно просто. Перед этим, напомню, что изначально все страницы в вордпрессее имеют вид /?p=x (где x — id записи). И то, что в админке WordPress вы меняете адрес страницы, на самом деле создает лишь дополнительный адрес и делает его основным, а вид /?p=x работает в любом случае.

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

1. Открываем файл .htaccess в корневой папке блога.

2. Дописываем в начало файла примерно следующую строчку (шаблон страниц):

RewriteRule ^archives/([0-9]*)/?$  /?p=$1 [L]

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

Теперь, при наборе /archives/35 будет открываться та же страница что и при /?p=35.

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

Как разместить ссылки на дополнительные страницы

1. Открываем файл шаблона вывода поста. У меня это single.php

2. На примере сделаем, что бы индексировались страницы вида /?p=x. Для этого в любом месте размещаем примерную следующую ссылку:

Постоянный адрес страницы: 

/?p=

Все, наподобие этого можно сделать ссылки на свои виды страниц (функция the_ID() выводит id записи).

Есть вопросы — задавайте.

———-
Постовой (как сюда попасть?)

Акция, которая поможет каждому найти своих читателей
Новая биржа для вебмастеров, рекламодателей и блоггеров!

Отделение TrackBack ‘ов от комментариев

Возиникла мысль отделить TrackBack ‘и от комментариев. Во-первых, трекбэки среди комментариев мешают разговору, а во-вторых, отдельный список сразу же показывает, кто на тебя сослался. Не долго думая я пошел в гугл искать как это можно сделать. В итоге я нашел один вариант, но мне он не очень понравился, так как там был использован еще один запрос к базе, а это дополнительная нагрузка для блога. Дальше я не стал искать, а решил сам сделать способ без второго запроса.

Отделение TrackBack ‘ов от комментариев (для WordPress)

1. Находим файл шаблона с комментариями. У меня это comments.php.

2. Ищем код вывода комментариев. Выглядит он примерно так:






3. Внутрь цикла foreach вставляем:



Таким образом мы выводим данные только с типом «comment». В итоге должно получится что-то подобное:







4. Теперь нам нужно вывести список трекбэков. Для этого в любом месте после вывода комментариев выводим trackbaсk ‘и с помощью подобного кода:

Трекбэки


Трекбэки выводятся так же как и комментарии, единственное что мы указываем, так это то, что выводить надо все, что не равно типу «comment».

TrackBack ‘ам можно дать такой же дизайн, как и у комментариев.

Но есть одно но, при таком способе если трекбэков нет, то под записей

Трекбэки

ничего не будет, да и сам заголовок будет не к месту.

Если вам это не нравится, то проблему частично можно решить изменив код вывода трэкбэков на такой:

Трекбэки


  • Трекбэков к записи нет

Теперь, если трекбэков нет, будет выведен соответствующий текст. Избавится от заголовка при отсутствии TrackBack ‘ов можно с помощью еще одного цикла. Но я не буду сейчас это рассматривать. Кроме того, заголовок можно вообще не указывать. И под конец, можно воспользоваться отдельным плагином, но опять же, это лишня нагрузка.

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