Skip to content

Instantly share code, notes, and snippets.

@flayder
Last active January 16, 2016 08:15
Show Gist options
  • Save flayder/bbb6de1b55d7826cfe72 to your computer and use it in GitHub Desktop.
Save flayder/bbb6de1b55d7826cfe72 to your computer and use it in GitHub Desktop.
Gid WordPress
- Восстановление стилей, после копирования html кода:
<?php bloginfo("template_directory");?>/
- Вывод заголовков:
<h1,2,3,4,5><?php the_title();?></h1,2,3,4,5>
- Контент:
<?php the_post();?>
<?php the_content();?>
- WP_Query - это PHP класс, который позволяет получать посты из базы данных по самым разным критериям. Например, мы можем получить посты:
$query = new WP_Query( array( 'category_name' => 'news' ) );
Цикл вывода:
while ( $query->have_posts() ) {
$query->the_post();
the_title(); // выведем заголовок поста
}
- Произвольные поля:
<?php the_field();?>
- Вывод стилей на главной
<?php if( is_front_page() ) {?>
<link rel="stylesheet" type="text/css" media="all" href="http://вашсайт.ru/wp-content/themes/названиетемы/styleindex.css" />
<?php }; ?>
- Ссылка на шапку header.php:
<?php get_header();?>
- Подключение стилей:
<?php bloginfo('stylesheet_url'); ?>
- Ссылка на подвал footer.php:
<?php get_footer();?>
- Вывод титла:
<?php bloginfo('name'); ?>
- Вывод титла во всех страницах обычно вводится сразу вместе с <?php bloginfo('name'); ?> :
<?php wp_title(); ?>
- Ссылка на главную:
<?php echo home_url();?>
-ВЫВОД ПОСТОВ ПО КАТЕГОРИЯМ get_posts()
<?php
$args = array( 'posts_per_page' => 3 );
$lastposts = get_posts( $args );
foreach($lastposts as $post) : setup_postdata($post); ?> // устанавливаем данные
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_content(); ?>
<?php endforeach; ?>
<?php wp_reset_postdata() ?>
СТАНДАРТНЫЙ ЦИКЛ, КОТОРЫЙ ПОЗВОЛЯЕТ ВЫВОДИТЬ МАССИВ СТАТЕЙ
- Возвращает значение определенного произвольного поля указанного поста или массив всех полей поста.
<?php get_post_meta($post->ID, 'thumb', true) : ?>
- Вывод всех заголовков и информации на контенте через массив:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
Например вывод всех заголовков (h3), с его content содержимым
<h3><?php the_title(); ?><h3>
<?php the_content(); ?>
Конец цикла:
<?php endwhile; ?>
Иначе:
<?php else: ?>
<?php endif; ?>
- Вывод заголовка поста:
<?php single_post_title(); ?>
ВЫВЕСТИ СТРАНИЦУ ПО ID:
<?php if( have_posts() ) : query_posts('p=12');
while(have_posts()) : the_post(); ?>
<?php the_title(); ?>
<?php the_content(); ?>
<?php endwhile; endif; wp_reset_query(); ?>
Так же вместо функции content(); в случае если у нас слишком большое количество текста, применяется другая функция:
<?php the_excerpt(); ?>
Показ полного текста по ссылке после функции the_excerpt();
<?php the_permalink(); ?>
ДРУГОЙ СПОСОБ РАБОТЫ С МАССИВАОМ СТАТЕЙ БЕЗ СТАНДАРТНОГО ЦИКЛА...
- Функция с помощью которой можно обращаться к статьям:
<?php var_dump(); ?>
Обращение к объекту $post, позволяет обратиться к статьям по дате их опбликования:
<?php var_dump($post); ?>
- Обратиться к любой записи статей можно с помощью свойств объекта $post
<?php echo $post->post_title ?>
- Вывод всех записей статей:
<?php var_dump($posts) ?>
- Подключение файлов в шаблоне:
<?php get_template_part('имя php, без указания формата') ?>
- Вывод всех массивов записей:
<!--Открываем массив-->
<?php foreach($posts as $item_post): ?>
<!--Вывод всех заголовков-->
<h3><?php echo $item_post->post_title ?><h3>
<!--Вывод всех записей в контенте-->
<?php echo $item_post->post_content ?>
<!--Закрытие массива-->
<?php endforeach; ?>
- Вывод цитаты:
<?php the_excerpt() ?>
- Вывести метки по id определенного поста.
$tags = wp_get_post_tags($post->ID);
if($tags){
foreach ($tags as $tag){
echo ' ' . $tag->name;
}
}
- Корректная работа темы с плагинами и отображение админ панели:
Перед закрывающем тегом </head>:
<?php wp_head(); ?>
Перед закрывающем теги </body>
<?php wp_footer(); ?>
- Выводит теги (метки) через запятую...
<?php the_tags(); ?>
ПОДКЛЮЧЕНИЕ СКРИПТОВ И СТИЛЕЙ
<?php
/**
*Загружаемые стили и скрипты...(Выстраиваем в очередь)...
**/
/**
*get_template_directory_uri() Получает текущий URL к папке с темой (до текущей темы)...
**/
/**
*Загружаем скрипты...
**/
function load_style_script() {
wp_enqueue_script('script', get_template_directory_uri() . '
/js/script.js');
/**
*Безопасная регистрация скрипта:
wp_deregister_script( 'jquery');
wp_register_script('jquery', 'http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"');
wp_enqueue_script( 'jquery');
**/
wp_enqueue_script('jquery-1.11.2', get_template_directory_uri() . '
/js/jquery-1.11.2.js');
wp_enqueue_script('jquery-ui.min', get_template_directory_uri() . '
/js/jquery-ui.min.js');
wp_enqueue_script('jquery.min', get_template_directory_uri() . '
/js/jquery.min.js');
wp_enqueue_script('jcarousel.responsive', get_template_directory_uri() . '
/js/jcarousel.responsive.js');
wp_enqueue_script('jquery.jcarousel.min', get_template_directory_uri() . '
/js/jquery.jcarousel.min.js');
/**
*Загружаем стили css...
**/
wp_enqueue_style('style', get_template_directory_uri() . '/style.css');
}
/**
*загружаем стили и скрипты
**/
/**Безопасное добавление javascript на страницу... Перехват хуков с помощью функции wp_enqueue_scripts; , загружаем стили и скрипты load_style_script; **/
/**
*поддержка миниатюр
**/
add_theme_support('post-thumbnails');
add_action('wp_enqueue_scripts', 'load_style_script');
/**
*загружаем меню
**/
register_nav_menu('индентификатор меню', 'название меню');
/**
*Сайдбар
**/
register_sidebar(array(параметры));
?>
- Вывод меню:
<?php wp_nav_menu(array('theme_location' => 'menu')); ?>
- Вставка миниатюр:
<?php the_post_thumbnail('размер', 'class миниатюры к которой например применяется .css стили '); ?>
- Вывод сайдбара register_sidebar(array(аргументы));:
<?php if(!dynamic_sidebar(id cайдбара)) : ?>
<?php endif; ?>
- Время с момента публикации статьи:
<?php the_time('параметры в каких будут указываться дата и время с момента публкации записи-можно посмотреть на офф сайте'); ?>
- Вывод название рубрики в категории:
<?php single_cat_title(); ?>
- Динамический вывод email:
<?php bloginfo('admin_email'); ?>
- Получает название категории по переданому ID.
<?php echo get_cat_name(); ?>
- Этот пример проверяет есть ли у поста прикрепленная к нему картинка миниатюра. Если картинки не существует, то выведем картинку по умолчанию (определим её сами: загрузим файл в папку images нашей темы).
<?php
//должно находится внутри цикла
if( has_post_thumbnail() ) {
the_post_thumbnail();
} else {
echo '<img src="'.get_bloginfo("template_url").'/images/img-default.png" />';
}?>
-Плагин для вывода галереи:
- NextGEN Gallery
-Плагин для вывода форм:
- Contact form 7
-Плагин визуальной стилизации:
-Visual Composer
-Изменение полей оформления заказа в WooCommerce.
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) { /*Убрали ненужные поля*/
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_state']);
return $fields;
}
add_filter('woocommerce_billing_fields', 'custom_woocommerce_billing_fields');
function custom_woocommerce_billing_fields( $fields ) {
$fields['billing_address_1']['class'] = array( 'form-row-wide' ); /*Поле адреса шире*/
return $fields;
}
- Вставка шорткодов:
<?php echo do_shortcode('[contact-form-7 id="132" title="Форма заявки заказа артиста"]'); ?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment