Last active
June 3, 2021 08:05
-
-
Save whitershade/1271050cd468e434e919 to your computer and use it in GitHub Desktop.
Посадка на WordPress
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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