AltaiR-05
@AltaiR-05

Как правильно вывести один пост в wordpress?

Доброго времени суток. В первые верстаю landing на стартовый шаблон wordpress underscores.me . PHP не знаю. Нужно вывести все данные поста на главную страницу:
ab7921a99136463cb139dae7d8ce83b9.png
Нашел такой код, который по ID поста выводит его
<?php
$post_id = 9;
$my_post = get_post($post_id);
?>

<h3><?php echo "$my_post->post_title"; ?></h3>
<p><?php echo "$my_post->post_except"; ?></p>
<a href="<?php echo get_permalink($post_id); ?>" class="btn">Подробнее о нас</a>

Осталось вывести картинку. Да и вообще правилен ли такой метод?
  • Вопрос задан
  • 455 просмотров
Решения вопроса 2
@Mr_Edward
Добавьте возможность выбора поста в админке, используя wp_options (раздел Customize в консоле). Из базы потом вытягивайте get_option'om.
get_option('mainpage'); // id поля опции уже сами выберите

И очистить пост не забудьте после вывода, дабы не было конфликтов.

В Вашем случае, примерно так (functions.php):
<?php

class Toster_Theme_Customize{

    public static function init()
    {
        $customize = new Toster_Theme_Customize();
        add_action( 'customize_register', array($customize, 'customizeRegister') );
    }

    public function customizeRegister( $wp_customize )
    {
        $wp_customize->add_section(
            'theme_option', // id секции
            array(
                'title'     => __('Theme Options', "interia"),
                'priority'  => 1
            )
        );

        if ( get_pages() ) {

            $wp_customize->add_setting( 'mainpage', array(
                'type'       => 'option',
                'capability' => 'manage_options',
            ) );

            $wp_customize->add_control( 'mainpage', array(
                'label'      => __( 'Main page', "interia" ),
                'section'    => 'theme_option',
                'type'       => 'dropdown-pages',
            ) );
        }
    }
}
Toster_Theme_Customize::init();
Ответ написан
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Доброго.

Миниатюру записи можно вывести с помощью функции the_post_thumbnail.

<?php
global $post;
$post_id = 9;
$post = get_post($post_id);
setup_postdata($post);
?>

<?php the_post_thumbnail(); ?>
<h3><?php the_title(); ?></h3>
<p><?php the_excerpt(); ?></p>
<a href="<?php the_permalink(); ?>" class="btn">Подробнее о нас</a>

<?php wp_reset_query(); ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы