/ Wordpress / Основы WP

Основы WP

HIT

14.06.2015

5676

Для удобства приведен список основных вызовов WP (WordPress), которые нужны для большинства сайтов.

Основные команды wordpress

<?php wp_head(); ?>
<?php wp_footer(); ?>


<?php get_header(); ?>

<?php get_sidebar(); ?>
<?php dynamic_sidebar( 'primary' ); ?>

<?php get_footer(); ?>


<?php bloginfo('name'); ?>
<?php bloginfo('description'); ?>

<link rel="stylesheet" href="/wp-content/themes/tester/style.css">

<link rel= "stylesheet" href="wp-content/themes/promo/mobile.css" media="handheld,only screen and (max-device-width:550px)"/>

<link rel="icon" type="image/png" href="wp-content/themes/promo/favicon.ico" />

<img src="/wp-content/themes/tester/images/404.png" width="960" height="310">


<nav id="" role="navigation">
 <?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?>
</nav>


<?php if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?>             - хлебные крошки

<?php if( function_exists('cyclone_slider') ) cyclone_slider('main-slider'); ?>     - cyclon slider 2

<?php echo do_shortcode( '[шорткод]' ); ?>


<?php include(TEMPLATEPATH."/blocks-towar.php"); ?>
<?php get_template_part( 'solus' ); ?>
<?php get_template_part( 'single/solus' ); ?> //если в папке single


<?php the_author(); ?> — автор поста
<?php the_author_posts_link(); ?> — автор поста с ссылкой

$amf = get_term_by('id', 25, 'category'); — получить объект категории по ее id

Фильтр форматирования

Применение фильтра wpautop (в частности добавляющий тэги p к переносам текста) к чему угодно:

<?php echo wpautop( $some_long_text ); ?>

Удаление фильтра:

remove_filter( 'the_excerpt', 'wpautop' );
remove_filter( 'the_content', 'wpautop' );

Навигация

Предыдущая / следующие записи в этой же рублике

<?php echo get_adjacent_post_link( '%link', '< %title', 1 ); ?>
<?php echo get_adjacent_post_link( '%link', '%title >', 1, '', false ); ?>

Предыдущие/следующие (например: 10 записей) в выдаче рублики / поиске

<?php previous_posts_link('< Предыдущие записи') ?>
<?php next_posts_link('Следующие записи >','') ?>

Подключение библиотеки jquery

<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

Относительные ссылки WP

Когда мы в HEADER’е прописываем путь к стилю, скрипту, иконке и т.д. нужно указывать путь вида

href="wp-content/themes/newcofe/style.css" (надо перепроверить!)
src="<?php bloginfo('stylesheet_directory'); ?>/scripts/plugins-scroll.js" (работает 100%)

В стилях CSS относительный путь прописываем так

background-image: url("images/main-slide.jpg");
src: url("fonts/PlayRegular.eot");

Сортировка записей

Удобный способ сортировки постов, по количеству комментариев. В админке (в записи) проставляем необходимое количество комментариев. Применял в иерархии должностей сотрудников. Пример:

<?php global $post;
$args = array( 'posts_per_page' => -1, 'offset'=> 0, 'category' => 74, 'orderby' => 'comment_count' );
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata($post); ?>

<div class="posit_predst">
<div class="photo"><?php the_post_thumbnail(); ?></div>

<div class="text">
<h3><?php the_title(); ?></h3>
<?php the_content(); ?>

</div>
</div>

<?php endforeach; ?>
<?php wp_reset_postdata() ?>

Title для сайта

Этот Title нужно ставить, если отсутствует плагин Yoast SEO

<title> <?php wp_title( '|', true, 'right' ); ?> <?php bloginfo('name'); ?><?php if (get_query_var('paged')) { echo ' - страница '.get_query_var('paged'); } ?></title>
С версии 4.6 добавлять не надо. Title формируется в wp_admin

Отключить автоформатирование

Отлючить в выводах контента всего сайта

remove_filter( 'the_content', 'wpautop' );

Если нужно отключить автоформатирование локально в каком-то шаблоне, то данную строку нужно добавить перед началом цикла <?php if (have_posts()) :?>
Отключить в кратких описаниях (excerpt)

remove_filter( 'the_excerpt', 'wptexturize' );

Отключить перед выводами p и img тэгов <р></р>

// Removing before and after content <p></p>
add_filter( 'the_content', 'the_content_example' );

function the_content_example( $content ) {
return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content);
}

// Removing before and after the img (images) <p></p>
function filter_ptags_on_images($content){
return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content);
}
add_filter('the_content', 'filter_ptags_on_images');

Вывести количество записей в основном запросе

Основной запрос зависит от «места» на сайте на котором мы находимся: главная, запись, страница, категория, метка, архив.
Мы можем вывести количество записей в основном (главном) запросе:

<?php global $wp_query; echo $wp_query->found_posts; // Сколько записей в основном запросе ?>
Этим методом можно проверять изменения количества записей в основном запросе, при использовании фильтров и изменении параметров основного запроса, вставляя данный код до и после применения фильтра.

Статус записи — Архив

Если устаревшие или не актуальные записи нужно перевести в Архив, для этого нужно создать кастомный статус записи. Сделать это можно плагином Archived Post Status, либо самостоятельно. Но данный функционал можно заменить готовым статусом — Черновик.

Если выбрать видимость записи — Личное, запись будет видна только авторизованному пользователю.

Предварительный просмотр записи

Базовый функционал WP позволяет предварительный просмотр только зарегистрированным пользователям. Чтобы показать запись незарегистрированному пользователю необходимо воспользоваться плагином Public Post Preview (30 000+). Public Post Preview создает checkbox «Показывать публично» (Enable public preview), и если его активировать создает специальную ссылку вида http://site.com/?lang=it&p=11724&preview=1&_ppp=3fb7e603f2

Записи в виде иерархической структуры


// Сделать записи иерархическими
	
add_action('registered_post_type', 'igy2411_make_posts_hierarchical', 10, 2 );

// Runs after each post type is registered
function igy2411_make_posts_hierarchical($post_type, $pto){

    // Return, if not post type posts
    if ($post_type != 'post') return;
    
    // access $wp_post_types global variable
    global $wp_post_types;
    
    // Set post type "post" to be hierarchical
    $wp_post_types['post']->hierarchical = 1;

    // Add page attributes to post backend
    // This adds the box to set up parent and menu order on edit posts.
    add_post_type_support( 'post', 'page-attributes' );

}

Вывод содержимого конкретной страницы

<?php $page = get_post(334); ?>
<?php echo $page->post_title; ?>
<?php echo $page->post_content; ?>
<?php wp_reset_postdata(); ?>

Поделиться в соц. сетях:

  • Комментарии
  • Вложения

Добавить комментарий

Пока нет комментариев. Будь первым!

Основы WP
Кастомный метод платежа
Рекомендации для васКастомный метод платежаOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.