Анонс WordPress 2.9 Release Candidate 1

Разработчики WordPress объявили о готовности выпустить в свет версию 2.9.

Во-первых, осталось их основным тестерам проверить все ли в порядке с новой версией. А во-вторых, проверить совместимость всех своих плагинов с WordPress 2.9.

Разработчики советуют всем создателям плагинов проверить свои детища на предмет совмеcтимости и отписать по этому поводу в файле readme.txt.

Пока возможно скачать релиз-кандидат, а если все пойдет по плану то на этой недели появится WordPress 2.9.

Вставка Adsense

Для удобства управления Adsense’ом напишем небольшую функцию, которая будет выводит рекламу в нужно вам посте и в определенном месте.

Отойдем от общей практики, как делают чаще всего, вставки кода Adsense в тему WordPress и вывода его в том месте, где вы определили изначально. Это конечно просто, но не удобно.

Открываем файл function.php, находящийся в каталоге вашей темы и добавим в него следующий код.

function showads() {
return '<script type="text/javascript"><!--
google_ad_client = "pub-0000000000000";
google_ad_slot = "000000000";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
';
}

add_shortcode('adsense', 'showads');

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

Теперь сохраняет файл с функциями и можете вставлять вызов рекламы в нужной статье и в удобном для вас месте.
Для вставки Adsense вам нужно в редакторе в режиме HTML написать:

[adsense]

Отображаем число трекбеков

Открываем файл functions.php, находящийся в каталоге вашей темы.
Добавил туда функцию, код которой написан ниже.

function tb_count() {
    global $wpdb;
	$count = "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_type = 'pingback' OR comment_type = 'trackback'";
    echo $wpdb->get_var($count);
}

Сохраняем файл functions.php и теперь в любом месте вы можете вызвать функцию.

<?php tb_count(); ?>

Доступ к данным поста вне цикла

Понадобилось мне получить доступ к одному единственному посту из множества. В цикле это все можно организовать, но хотелось бы избежать цикла. Оказалось все не очень сложно.

Откроем файл functions.php, который находится в вашей теме и добавим в него еще одну функцию. Эта функция использует единственный аргумент, являющийся ID того самого поста к данным, которого нужно получить доступ. А возвращает функция массив, содержащий заголовок поста, дату написания, содержание поста, ID автора и ID поста.

function get_post_data($postId) {
    global $wpdb;
    return $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE ID=$postId");
}

Далее пример использования функции

<?php
$data = get_post_data(10);
echo $data[0]->post_title; //Название поста
echo $data[0]->post_date; //Дата написания
echo $data[0]->comment_count; //Количество комментариев
echo $data[0]->post_content; //Содержание поста
?>

Антиспам

Wordpress для меня является основной CMS. Ее я использую почти под все свои проекты и последнее время заметил, что последнее время спаммеры очень активно атакуют мои сайты, да впрочем и ваши наверное тоже :) Конечно, существует Akismet и еще много плагинов, использующих капчу, но сейчас я опишу один трюк с .htaccess. Это не отменяет использование плагинов, но все же помогает реально.

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

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*ВашСайт.ru.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

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

P.S. Чуть не забыл, в коде надо поменять ВашСайт.ru на адрес вашего сайта или блога.

Поиск
Облако тегов
Счетчики