Рубрика «Полезности»

Шоткоды для WordPress-а

16 Сен 2009 admin | Ваш отзыв | Рубрика Полезности

Вывод случайной записи в сайдбаре (sidebar):

query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 1));
if (have_posts()) :
while (have_posts()) : the_post();
the_title();
the_excerpt();
endwhile;
endif;

Выводим самую комментируемую новость (статью)

<ul>
<?php
$result = $wpdb->get_results(«SELECT comment_count,ID,post_title, post_date FROM $wpdb->posts WHERE post_date BETWEEN ’2008-01-01′ AND ’2008-12-31′ ORDER BY comment_count DESC LIMIT 0 , 10″);

foreach ($result as $topten) {
$postid = $topten->ID;
$title = $topten->post_title;
$commentcount = $topten->comment_count;
if ($commentcount != 0) {
?>
<li><a href=»<?php echo get_permalink($postid); ?>»><?php echo $title ?></a></li>
<?php }
}
?>
</ul>

Теги:

Шорткоды для вордпресса

16 Сен 2009 admin | Ваш отзыв | Рубрика Полезности

w2Как показать запланированные посты:

<div>
<div><p>Скоро читайте</p></div>
<?php query_posts(‘showposts=10&post_status=future’); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div >
<p class><b><?php the_title(); ?></b><?php edit_post_link(‘e’,’ (‘,’)'); ?><br />
<span><?php the_time(‘j. F Y’); ?></span></p>
</div>
<?php endwhile; else: ?><?php endif; ?>
</div>

Вывод постов в случайном порядке. В index.php перед циклом LOOP ставим

query_posts(‘orderby=rand’);

Запрет категории для индексации

в header.php вставляем между тэгами <head></head>
PHP код:
<?php if ( is_category(’8′) || in_category(’8′) ) {
echo ‘<meta name=»robots» content=»noindex»>’;
}
в примере 8 – id категории, которую надо запретить индексировать

если надо запретить определенный пост, то:
<?php if ($post->ID == 17) {
echo ‘<meta name=»robots» content=»noindex»>’;
}
17 – id поста

Теги:

Шоткоды для вордпресса

16 Сен 2009 admin | Ваш отзыв | Рубрика Полезности

w3Прячем картинки поста, если он на главной странице.

код в functions.php

add_filter(‘the_content’,'wpi_image_content_filter’,11);

function wpi_image_content_filter($content){
if (is_home() || is_front_page()){
$content = preg_replace(«/<img[^>]+\>/i», «», $content);
}
return $content;
}

Читать полностью »

Теги:

Шоткоды для Вордпресса

16 Сен 2009 admin | Ваш отзыв | Рубрика Полезности

w4Продолжаю тему шоткодов.

Вывод поста в три колонки, код вставляется в single.php:

<?php
$page_columns = explode(«[--column--]«, $post->post_content);
print $page_columns[0];
print ‘<div>’;
print $page_columns[1];
print ‘</div>’;
print’<div>’;
print $page_columns[2];
print ‘</div>’;
print ‘<div>’;
print $page_columns[3];
print ‘</div>’;
?>

Оформление поста:

предварительный текст если надо…..
[--column--]
Первая колонка тут
[--column--]
Текст для второй колонки
[--column--]
Для третьей колонки текст

С помощью CSS придаем нужный вид.

Получение и вываод последних комментариев без плагина.

<?php
global $wpdb;
$sql = «SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url, SUBSTRING(comment_content,1,30) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = ’1′ AND comment_type = » AND post_password = » ORDER BY comment_date_gmt DESC LIMIT 10″;

$comments = $wpdb->get_results($sql);
$output = $pre_HTML;
$output .= «\n<ul>»;
foreach ($comments as $comment) {
$output .= «\n<li>».strip_tags($comment->comment_author) .»:» . «<a href=\»" . get_permalink($comment->ID).»#comment-» . $comment->comment_ID . «\» title=\»on «.$comment->post_title . «\»>» . strip_tags($comment->com_excerpt).»</a></li>»;
}
$output .= «\n</ul>»;
$output .= $post_HTML;
echo $output;
?>

Число комментариев настраиваемое.

Теги:

Шорткоды для Вордпресс

16 Сен 2009 admin | Ваш отзыв | Рубрика Полезности

w4Продолжаю тему шоткодов Вордпресса.

Прячем текст от незарегистрированных пользователей
вставляем в functions.php следующий код:

add_shortcode( ‘member’, ‘member_check_shortcode’ );

function member_check_shortcode( $atts, $content = null ) {
if ( is_user_logged_in() && !is_null( $content ) && !is_feed() )
return $content;
return »;

}
Текст между member и /member увидят только зарегистрированные (и залогиненные) пользователи.

[member]
Какойто текст , ссылка, картинка и т.п.
[/member]

Отображение постов в заданном диапазоне дат

вставляем код перед началом цикла:
<?php
function filter_where($where = ») {
$where .= » AND post_date >= ’2009-05-01′ AND post_date <= ’2009-05-15′»;
return $where;
}
add_filter(‘posts_where’, ‘filter_where’);
query_posts($query_string);
?>

Даты меняем на нужные нам.

Теги: