WordPress при отправке писем администратору, либо тем, кто подписался на комментарии на сайте, в поле “От” подставляет имя, которое у вас указано в профиле, и e-mail оттуда же.

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

function res_fromemail($email) { return 'noreply@site.name'; }
function res_fromname($email){ return 'Name'; }
add_filter('wp_mail_from', 'res_fromemail');
add_filter('wp_mail_from_name', 'res_fromname');

где noreply@site.name – это e-mail, а Name – имя, которые будут отображаться в письме.

17 октября 2011 г.

Хочу поделиться кодом, который позволяет список постов разбить на 2 столбца. Т.е. к примеру, если на странице выводится 7 постов, то первые 4 поста будут находится в первом столбце, а оставшиеся 3 – во втором.

Суть php-кода, добавленного мною к стандартному коду поста, заключается в том, чтобы в определенных местах вставить html-теги, с помощью которых через CSS оформить посты в столбцы.

<?php get_header(); ?>

<?php if (have_posts()) { ?>
	<?php $i = 0; ?>
	<?php $per_column = ceil($posts_per_page / 2); ?>
	<?php if ($wp_query->post_count <= $posts_per_page) $per_column = ceil($wp_query->post_count / 2); ?>

			<div class="column">

	<?php while (have_posts()) { the_post(); $i++; ?>

				<div class="post">
					<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
					<div class="date"><?php the_time('d.m.Y') ?></div>
					<div class="entry">
					  <?php the_excerpt(); ?>
					</div>
				</div><!-- .post -->

		<?php if ($i == $per_column) { ?>
			</div><!-- .column -->

			<div class="column right">
		<?php } ?>

	<?php } ?>

			</div><!-- .column -->

			<div class="clear"></div>

	  	<div class="navigation">
				<div class="alignleft"><?php previous_posts_link('Следующие записи') ?></div>
				<div class="alignright"><?php next_posts_link('Предыдущие записи') ?></div>
			</div>

	<?php } ?>

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

И CSS-код, который также нужно добавить на сайт:

.column {
	float: left;
	width: 48%;
}
.column.right {
	float: right;
}
.clear {
	clear: both;
	height: 0;
	overflow: hidden;
}

Мне однажды этот код уже пригодился.

8 августа 2011 г.

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

Код функции:

function top_authors($number = 10) {
	$uc = array();
	$blogusers = get_users();
	if ($blogusers) {
		echo '<ul>';
		foreach ($blogusers as $bloguser) {
			$post_count = count_user_posts($bloguser->ID);
			$uc[$bloguser->ID] = $post_count;
		}
		arsort($uc);
		$i = 0;
		foreach ($uc as $key => $value) {
			$i++;
			if ($i <= $number) {
				$user = get_userdata($key);
				$author_posts_url = get_author_posts_url($key);
				$post_count = $value;
				if ($post_count > 0) {
					echo '<li><a href="' . $author_posts_url .'">' . $user->display_name . '</a> (' . $post_count . ')</li>';
				}
			}
		}
		echo '</ul>';
	}
}

Его нужно поместить в файл functions.php своего шаблона.

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

<?php if (function_exists('top_authors')) top_authors(10); ?>

Как вы уже, наверняка, догадались, 10 – это количество отображаемых авторов.

В результате выведется список авторов. Имя будет ссылкой на страницу автора, а в скобках будет указано количество опубликованных им статей.

Облако тегов