Добавляем произвольные параметры в функцию body_class()
При создании сайта на WordPress может оказаться реально полезной возможность добавить один (или больше) произвольных параметров к функции body_class(). Вот функция, которую мы используем довольно часто при разработке сайтов для клиентов.
Просто скопируйте и вставьте код в файл functions.php вашей темы или в плагин для сайта WordPress:
function custom_body_class($classes){ if(is_singular()){ $myvar = "myparam"; } else { $myvar = "anotherparam"; } global $post; array_push($classes, $myvar); return $classes; } add_filter('body_class', 'custom_body_class');
Конечно же, код можно и нужно адаптировать под свои нужды. К примеру, реально универсальное решение для мультиязычных сайтов: произвольный параметр можно использовать для вывода текущего языка в классе body.
Как быстро заменить слова в ваших записях блога
Моделируем ситуацию: ваш блог назывался «мойблог», и вы переименовали его в «мойсуперблог». Не нужно редактировать n-ное количество записей для замены каждого встречаемого там «мойблог»! Вот полезный сниппет, который выполнит всю работу за вас за минуту.
Просто добавьте слова для замены в массив в строке 4. После того, как сделаете, вставьте код в файл function.php вашей темы, сохраните и все готово!
function replace_text_wps($text){ $replace = array( // 'Слово для замены' => 'Новое слово' 'wordpress' => '<a href="#">wordpress</a>', 'excerpt' => '<a href="#">excerpt</a>', 'function' => '<a href="#">function</a>' ); $text = str_replace(array_keys($replace), $replace, $text); return $text; } add_filter('the_content', 'replace_text_wps'); add_filter('the_excerpt', 'replace_text_wps');
Как заставить RSS Widget обновляться более часто
В WordPress есть встроенный виджет, который позволяет вам отобразить любой фид любого сайта на вашем блоге. И не смотря на то, что виджет замечательный, иногда необходимо, чтобы он обновлял новости чаще, чем по-умолчанию. Вот простое решение, которое изменит частоту обновления.
Для применения функции просто вставьте следующий код в ваш файл functions.php или в плагин для сайта WordPress:
add_filter( 'wp_feed_cache_transient_lifetime', create_function('$a', 'return 600;') );
Грабим и выводим каналы RSS
Вы наверняка в курсе, что в WordPress есть встроенная RSS читалка. Давайте используем ее для получения данных внешней ленты и вывода их на блоге.
Просто вставляем следующий код в то место, где хотим вывести ленту. Не забываем указать ссылку на фид в строке 4.
<?php if(function_exists('fetch_feed')) { include_once(ABSPATH.WPINC.'/feed.php'); $feed = fetch_feed('http://feeds.feedburner.com/wpincode'); $limit = $feed->get_item_quantity(7); // определяем количество элементов $items = $feed->get_items(0, $limit); // создаем массив элементов } if ($limit == 0) echo '<div>Лента либо пуста, либо недоступна в данный момент.</div>'; else foreach ($items as $item) : ?> <div> <a href="<?php echo $item->get_permalink(); ?>" title="<?php echo $item->get_date('j F Y @ g:i a'); ?>"> <?php echo $item->get_title(); ?> </a> </div> <div> <?php echo substr($item->get_description(), 0, 200); ?> <span>[...]</span> </div> <?php endforeach; ?>
Встраиваем страницу в другую страницу
Вы используете различные шаблоны страниц в вашей теме WordPress? Если так, вот интересный хак, который позволит вам встроить одну страницу внутрь другой.
Вставьте следующий код ниже в цикл loop. Убедитесь в том, что вы изменили ID страницы в строке 1!
<?php $recent = new WP_Query("page_id=**ID**"); while($recent->have_posts()) : $recent->the_post();?> <h3><?php the_title(); ?></h3> <?php the_content(); ?> <?php endwhile; ?>