Skip to content

Instantly share code, notes, and snippets.

@whitershade
Last active June 3, 2021 08:05
Show Gist options
  • Save whitershade/1271050cd468e434e919 to your computer and use it in GitHub Desktop.
Save whitershade/1271050cd468e434e919 to your computer and use it in GitHub Desktop.
Посадка на WordPress
1) header и footer перемещаем в отдельные файлы header.php и footer.php
на их местах в index.php вставляем команды:
<?php get_header();?> // подключаем header
<?php get_footer();?> // подкючаем footer
2) в header.php после всех стилей добавляем функцию <?php wp_head();?>. В footer.php после всех скриптов добавляем <?php wp_footer();?>
3) ко всем локальным путям добавляем функцию по образцу:
<link rel="stylesheet" href="<?php echo get_template_directory_uri();?>/css/main.css">
<script src="<?php echo get_template_directory_uri();?>/js/main.js"></script>
<img src="<?php echo get_template_directory_uri();?>/img/photo.jpg" alt="my-photo">
4) удалить admin bar. В файл functions.php добавить:
<?php
show_admin_bar(false);
5) Регистрация виджета (http://codex.wordpress.org/Widgetizing_Themes), вставить в function.php:
<?php
/**
* Register our sidebars and widgetized areas.
*
*/
function arphabet_widgets_init() {
register_sidebar( array(
'name' => 'Home right sidebar',
'id' => 'home_right_1',
'before_widget' => '<div>',
'after_widget' => '</div>',
'before_title' => '<h2 class="rounded hidden">', // добавляем hidden если нужно скрыть заголовок
'after_title' => '</h2>',
) );
}
add_action( 'widgets_init', 'arphabet_widgets_init' );
Вывести виджет в index.php:
<?php dynamic_sidebar( 'home_right_1' ); ?>
6) Вывести название сайта:
<?php echo get_bloginfo("name");?>
Описание сайта:
<?php echo get_bloginfo("description");?>
7) Подключить theme options из общего макета, настроить вывод нужных параметров. Стили подключать по примеру:
<link rel="stylesheet" href="<?php echo get_template_directory_uri();?>/css/<?php
$options = get_option("sample_theme_options");
echo $options["selectinput"];
?>.css">
8) Для секций в вордпрессе создаем рубрики. Заголовки секций выводим из названия и описания рубрики:
Название:
<h2><?php
$idObj = get_category_by_slug("about");
$id = $idObj->term_id;
echo get_cat_name($id);
?>
</h2>
Описание // ВНИМАНИЕ! category_description($id) возвращает содержание УЖЕ завернутое в тег p.
<?php
$idObj = get_category_by_slug("about");
$id = $idObj->term_id;
echo category_description($id);
?>
9) Для того чтобы можно было добавлять к постам картинки в functions.php добавим:
add_theme_support( 'post-thumbnails' );
10) Для того чтобы получить заголовок поста:
<?php
$post=get_post(6);
echo get_the_title($post);
?>
Для того чтобы получить содержимое поста (заворачивается в p): //ВНИМАНИЕ! При этом срабатывает waypoints. Если нужна анимация, то
сначала нужно дополнительно удалить в JS классы animate.css после загрузки документа.
<?php
$my_post = get_post(6);
echo $my_post->post_content;
?>
11) Получаем thumbnail из поста:
<?php if (has_post_thumbnail(13)):?>
<a class="popup-link" href="<?php
$large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(13), 'large');
echo $large_image_url[0];
?>" title="<?php the_title_attribute(); ?>">
<?php the_post_thumbnail(13);?>
</a>
<?php endif;?>
12)
Эти поля – часть функциональности ядра WordPress, которая в явном виде может и не использоваться. Между тем,
настроить это можно достаточно просто на вашем WordPress-сайте.
По умолчанию такие поля невидимы, и чтобы включить их отображение, нужно перейти к ‘Настройкам экрана’
вверху справа в Консоли и к вкладке по добавлению нового поста или редактирования существующей страницы.
Вызвать дополнительное поле:
<?php echo get_post_meta($post->ID, "label_name", true);?>
13) Выводим повторяющиеся айтемы:
<?php
$idObj = get_category_by_slug("portfolio");
$id = $idObj->term_id;
if ( have_posts() ) : query_posts('cat=' . $id);
while (have_posts()) : the_post(); ?>
<?php the_title(); ?>
<?php the_content(); ?>
<?php the_post_thumbnail(array(100, 100)); ?>
<? endwhile; endif; wp_reset_query();
?>
ВНИМАНИЕ! Лучше использовать:
<?php
if ( have_posts() ) : $posts = get_posts(array('category_name' => 'portfolio', 'order' => 'ASC', 'numberposts' => 8));
foreach( $posts as $post ){ setup_postdata($post);?>
<div class="col-md-3 portfolio-item mix">
<?php the_post_thumbnail(array(800, 600)); ?>
<a href="#gallery1" class="popup-work">
<h3><?php the_title(); ?></h3>
<?php the_content(); ?>
</div>
<?}; endif;?>
14) Чтобы не писать год вручную
<?php echo date("Y");?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment