Соня

Category Visibility — (видимость категорий для разн. пользователей)

Плагин Category Visibility

Это плагин включает-выключает показ одной или нескольких категорий с главной страницы. Также можно отключить показ постов из 1 или неск. категорий в архиве или feed, списке рубрик в sidebar
Плагин закачать в папку plugins и активировать. Настроить в админке. Интуитивно понятный интерфейс 🙂

У меня случилась только одна неприятность с ним, если в wp_list_cats присутствует аргумент feed=RSS, то вывод ссылок на категории в sidebar отключается вообще.

Автор плагина предупреждает:
This method is not designed as a security device, only as a display method. A guest can still access a post by post number.

Про уровни пользователей:
-1 незарегистрированный пользователь
0 подписчик
и.т.д. подробнее: http://codex.wordpress.org/User_Levels#User_Level_0

Логин в sidebar без входа в админку

Поместите этот код в sidebar.php

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

<?php
  global $user_ID, $user_identity;
  get_currentuserinfo();
  if (!$user_ID):
?>
  <h5>Вход</h5>
    <form name="loginform" id="loginform" action="<?php echo get_settings('siteurl'); ?>/wp-login.php" method="post">
    <div><label>Логин:<br /><input type="text" name="log" id="log" value="" size="20" tabindex="7" /></label><br />
    <label>Пароль:<br /> <input type="password" name="pwd" id="pwd" value="" size="20" tabindex="8" /></label><br />
    <input type="hidden" name="rememberme" value="forever" />
    <input type="submit" name="submit" value="войти &raquo;" tabindex="9" />
    <?php wp_register('', ''); ?>
    <input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>"/></div>
    </form>
<?php
  else:
?>
  <h2><?php echo $user_identity; ?></h2>
    <ul>
    <?php wp_register(); ?>
    <li><a href="<?php echo get_settings('siteurl') . '/wp-login.php?action=logout&amp;redirect_to=' . $_SERVER['REQUEST_URI']; ?>">Выйти</a></li>
    </ul>
<?php
  endif;
?>

Вариант попроще:

<? php wp_register(); ?>
<? php wp_loginout(); ?>

Secure and accessible php contact form (форма обр. связи)

РУССИФИЦИРОВАННЫЙ ПЛАГИН

Ссылка: WordPress Secure and accessible php contact form
Перевод, ссылка на статью: Sonika

Внимание! На офиц. сайте green-beast.com в настоящий момент более новая версия этого плагина.
Руссифицированный плагин отлично ставится на wordpress 2.0.х (на 2.1.х я не тестировала) с кодировкой utf-8, перевод на русский я делала непосредственно в файлах плагина.

Особенности: многофункциональность и защита от спама. Гибкая настройка.
Пример:

В действии: http://www.sonika.ru/company/feedback/

Плагин частично руссифицирован (админка осталась на английском), вырезаны копирайты-ссылки, которые мостились непосредственно под формой.

СКАЧАТЬ сразу или почитать статью: http://www.sonika.ru/blog/wordpress/contact-form-antispam-rus.htm

Reverse Order Comments (гостевая книга, порядок комментариев)

Ссылка: Reverse Order Comments
Источник: Sonika

Сортирует комментарии по принципу «самые новые вверху».
У этого плагина есть и другое назначение, с его помощью легко превратить одну из статичных страниц в гостевую книгу.

Установка:

Активировать плагин (если устанавливаете только плагин, без гостевой книги, из распакованного архива понадобится только файл wp-zy-roc.php) и в файле темы single.php заменить

<?php comments_template(); ?>

на

<?php if(function_exists('ro_comments_template')) ro_comments_template(); else comments_template(); ?>

Как сделать гостевую книгу для wordpress

(внутри архива находятся примеры шаблона для темы default — варианты на английском и немецком):

Перевод инструкции на русский (вариант для темы default):

1. Скопируйте файлы comments-topinput.php и tpl_guestbook.php в папку темы.
2. Создайте новую страницу (Page), короткую ссылку (slug) задайте такую: guestbook
3. Разрешите комментирование этой страницы.
4. Выберите для этой страницы шаблон «Guestbook»
5. Готово!

Если Вы хотите, чтобы форма комментирования была внизу (как сделано в стандартных блогах), то откройте файл tpl_guestbook.php и замените строчку:

<?php if(function_exists('ro_comments_template')) ro_comments_template("/comments-topinput.php"); else comments_template(); ?>

на

<?php if(function_exists('ro_comments_template')) ro_comments_template(); else comments_template(); ?>

Ultimate Tag Warrior — слетела кодировка

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

Ничего не понимаю, я не обновлялась, из изменений в плагинах: за неделю до этого отключила smart rss и поставила google sitemap. Еще пыталась поставить Automattic Stats. «Пыталась» — потому что после активации этого плагина поняла, что это для версии 2.1.x и деактивировала.

Почему так с Ultimate Tag Warrior приключилось?

как написать свой плагин

Ссылки:

1. Кодекс ВордПресса: http://codex.wordpress.org/Написание_плагина рус., в анг. варианте: Writing a plugin, еще перевод этой статьи: Статья «Как написать плагин для WordPress» (Writing a Plugin) — перевод
2. Выпуск 23. Базовый класс для WordPress-плагина рус., автор maxsite
4. Функции WordPress eng, источник: maxsite
5. WordPress 2.x Filter List for Plugin and Theme Developers
6. WordPress 2.x Hooks for Action – Comprehensive List for Plugin and Theme Developers

WordPress — стандарты кодирования плагинов (русский яз., статья на Хабре)

плагин wordpress plugin framework

WordPress How To: Easily make an admin panel for a plugin

Делаем плагины для WordPress. Часть 1
Делаем плагины для WordPress. Часть 2

Пишем wordpress плагин. Работа с БД.

Создание таблиц в плагине для WordPress перевод статьи кодекса Creating Tables with Plugins

Принцип создания плагина на примере (код с комментариями), от Ю.Б. http://mywordpress.ru/support/viewtopic.php?pid=42002#p42002

У кого что есть еще, добавляйте

Fatal error: wp-l10n.php on line 43

После обновления с 2.0.1 (локализация mywordpress) до 2.0.9 (maxsite) стала выскакивать ошибка при активации некоторых плагинов — google sitemap и subscribe to comments:

Fatal error: Call to undefined function: tolang() in /…бла-бла…/wp-includes/wp-l10n.php on line 43

Плагины эти, соответственно, не работают.

Плюс из админки выйти не могу…

Из-за чего такое может быть?

Исключить НЕСКОЛЬКО категорий с главной

<?php
   if (is_home()) {
      query_posts("cat=-1,-2,-3");
   }
?>

Исключены категории с id= 1, 2 и 3

Этот код следует добавить в index.php Вашей темы перед началом Цикла (loop). Классический Цикл начинается так:

<?php while (have_posts()) : the_post(); ?>

Источник: query_posts

UPD 28.05.2007
Можно воспользоваться плагином Category Visibility

Категории и подкатегории в sidebar

для wordpress 1.5.x — 2.0.x

Что сделать, чтобы в sidebar ссылки на категории отображались так:

категория 1
— подкатегория 1.1
— подкатегория 1.2
— подкатегория 1.3
категория 2
— подкатегория 2.1
— подкатегория 2.2

В коде все это хозяйство выглядит так:

<ul>
  <li>категория 1
       <ul class="children">
           <li>подкатегория 1.1</li>
           <li>подкатегория 1.2</li>
           <li>подкатегория 1.3</li>
       </ul> 
  </li>
  <li>категория 2
       <ul class="children">
           <li>подкатегория 2.1</li>
           <li>подкатегория 2.2</li>
       </ul> 
  </li>
</ul>

Решение:
WordPress для подкатегорий предусмотрел специальный класс, просто добавьте в style.css своей темы

.children

и оформляйте ссылки на подкатегории (они же вложенные рубрики) как душе угодно!
Не забывайте, что ссылки на категории/подкатегории WordPress выводит в виде списков (ul, li), то есть — ul class="children"

ДЛЯ ТЕХ, КТО В ТАНКЕ, НА БИС: WORDPRESS САМ! ВЫВОДИТ UL CLASS="CHILDREN" ДЛЯ ПОДКАТЕГОРИЙ. ВСЁ, ЧТО ВАМ НУЖНО СДЕЛАТЬ — ПРОПИСАТЬ КЛАСС .children В style.css СВОЕЙ ТЕМЫ.

А также:
Для того, чтобы отображались вложенные рубрики (подкатегории) под родительскими категориями (как в примере выше), открываем sidebar.php, ищем <?php wp_list_cats(); ?> и изменяем его следующим образом:

<?php wp_list_cats('hide_empty=0&hierarchical=1'); ?>

hide_empty=0 показываем ссылки на пустые категории (в которых еще нет постов)
hierarchical=1 отображаем подкатегории под родительской категорией

Читаем Кодекс Вордпресса: wp_list_cats
Не знаете, что такое класс в css и что с ним делать? Учим css, подробно про ul

для wordpress 2.1.x и ВЫШЕ

В wp версии 2.1.0 и выше вместо wp_list_cats используется wp_list_categories.
Порядок действий тот же.

——————————————————————
——————————————————————
UPD
Как отсортировать рубрики в sidebar

проблемы с кодировкой

Рассмотрим случай, когда «иегорлифы» появились после внесения изменений в тему или вставку счетчиков или после русификации плагина

Правило тут одно и оно очень простое:

Если вы открыли файлы темы (или файлы плагина) и изменили их (русифицировали например), сохраняйте в той же кодировке, в которой у вас блог.
Если блог в кодировке utf-8, сохраняйте в utf-8 (без BOM)

Для этого лучше использовать редактор, который поддерживает utf.
Например: gvim, PSPAD, dreamweaver (PSPAD и gVim — бесплатные)
Можно сохрянять и в Блокоте, тогда не забывайте выбирать "Сохранить как" и "Кодировка" — utf-8

Топики по теме «проблемы с кодировкой»:
1. Распространенные ошибки при работе с WordPress

2. Проблемы с буквой "ш" и "и"
Еще решение от Yana (Проблемы с буквой "ш" и "и"):
в файле wp-settings.php в самом низу после:

do_action('init');

добавить две строчки:

mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES utf8");

Исключить определенную категорию с главной

ОДИН ИЗ ВАРИАНТОВ:

Основной цикл (loop) для файла index.php темы будет выглядеть так:

<?php $top_query = new WP_Query('cat=-1&showposts=10'); ?>
<?php while($top_query->have_posts()) : $top_query->the_post();
$first_post = $post->ID; ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h2><a href="<?php the_permalink() ?>" rel="bookmark"
title="Permalink: <?php the_title(); ?>"><?php the_title();
?></a></h2>
<div class="entry">
<?php the_content('Далее…'); ?>
</div>
</div>
<?php endwhile; ?>

Исключена категория с id=1 (cat=-1)
Выводятся посл. 10 постов (showposts=10)

UPD 28.05.2007
Можно воспользоваться плагином Category Visibility

Вывод на главной статичной страницы

Задача:
Сделать так, чтобы на главной странице выводилась статичная страница (Page)
Решение:
Для того, чтобы вывести на главной вместо постов статичную страницу, находим начало цикла (loop) в файле index.php (или home.php — если такой файл есть в теме) темы:

<?php while (have_posts()) : the_post(); ?>

И перед этой строчкой вставляем код:

<?php query_posts('page_id=7'); ?>

Где 7 — это id страницы (Page). Id страницы можно узнать в админке «Управление» — «Страницы»

или

<?php query_posts('pagename=about'); ?>

Где about — это slug (короткая ссылка) этой страницы.

Про query_posts: http://codex.wordpress.org/Template_Tags/query_posts

UPD
Если у Вас версия wordpress 2.1.x, то все намного проще — статичную страницу в качестве главной можно выбрать в админке.

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

Задача:
Сделать так, чтобы на главной странице публиковались только посты из определенной рубрики(категории).

Решение:
Вносим изменения в файл index.php темы.
Находим начало цикла (loop), и перед строчкой:

<?php if (have_posts()) : ?>
         <?php while (have_posts()) : the_post(); ?>

Добавляем:

<?php query_posts($query_string.'&cat=номер_категории'); ?>

Где номер_категории меняем на нужный номер категории, его можно посмотреть в админке в «Управление» — «Рубрики»

Про параметр query_posts:
http://codex.wordpress.org/Template_Tags/query_posts
Здесь можно найти еще несколько интересных примеров с query_posts, в том числе «как исключить одну категорию из цикла».

UPD 28.05.2007
Можно воспользоваться плагином Category Visibility

UPD 02.10.2007
Если возникли проблемы с навигацией (след. страница, предыдущая страница) при использовании query_posts, то эти ссылки будет полезными:
http://trampampam.ru/blog/wordpress/query_posts/

Навигация при query_posts

Еще плагин:
Advanced Category Excluder

редирект через htaccess

Решила я сделать несколько редиректов через .htaccess, но столкнулась с неожиданной для меня проблемой.
Переношу сайт с одной cms на wordpress
Проблема в том, что страрые ссылки, с которых у меня будет редирект, имеют такую структуру:
site.ru/index.php?s=2&ss=3&ko=28

И редирект:

redirect /index.php?s=2&ss=3&ko=28 http://newsite.ru/sanatoriums/raduga.htm

не работает.
Насколько я понимаю, wordpress считает, что ему задан поиск по сайту и использует шаблон search.php, гад!

Можно ли каким-нибудь образом «отключить» встроенный в wordpress механизм поиска?

восстановление пароля, если не работает функция mail()

Как можно восстановить пароль, если функция mail() на сервере не работает?

Завела новый сайт на хостинге, а mail() они включают только после оплаты, а оплатить быстро нельзя (что-то там у них сломалось).
А пароль-то (который вордпресс дает при установке) я сменить забыла :/

Что можно сделать, если есть доступ к базе данных?

Неужили ничего? 🙁

количество запросов к базе данных

Тестирую сайт на локалхосте.
Не могу понять, почему скачет количество запросов к базе данных:
при первой загрузке 71 запрос (Ё!), при обновлении страницы 24 запроса.
Иногда разрыв не такой большой: 18 запросов, потом 16

Друзья! Что ж это такое творится?
Почему количество запросов скачет?

Убрать «Показать все записи в»

Убрать «Показать все записи в» из ссылок на категории.
Где оно, елки-палки?
(локализация maxsite)

Глубина вложенности категорий и страниц в wordpress

Какую глубину вложенности категорий и страниц (Pages) выдюжит вордпресс?
Теоритически и практически.

Спрашиваю, поскольку непомнюгде (кажется на menhir.ru) вычитала, что не следует делать вложенность страниц (Pages) более 2-х уровней ибо возможны глюки.
А как насчет категорий?
Есть примеры большого уровня вложенности категорий и страниц (Pages)?

Установка wordpress на unix хостинге

chmod ВСЕМ папкам нужно проставлять вручную?
И какие именно права на папки ставить?
Кодекс вордпресса на эту тему как-то уклончиво вещает на мой взгляд…

ЧПУ, плагин seo without category и подкатегории

Шаблон ЧПУ /%category%/%postname%/

У категории “dogs” есть дочерняя категория “buldogs”.

Без плагина seo without category при таком ЧПУ ссылки работают так:
категория верхнего уровня доступна по адресу www.site.ru/dogs/ и по адресу www.site.ru/catogory/dogs/ (почему?!)
подкатегория buldogs доступна только по адресу www.site.ru/catogory/dogs/buldogs/
При этом пост "buldog-grisha", написанный в подкатегорию buldogs доступен только по адресу www.site.ru/dogs/buldogs/buldog-grisha/ (без category в адресе)

При включенном плагине SEO without Category ссылка www.site.ru/dogs/buldogs/ все равно выдает несуществующую страницу (в то время как страница www.site.ru/dogs/ открывается нормально).

По логике при включенном плагине категория должна быть доступна по адресу www.site.ru/dogs/, а подкатегория — www.site.ru/dogs/buldogs/

В чем тут дело?

Anonymous
Отправить
Ответ на: