@Emmet1

Как вывести содержимое из записи произвольного типа?

У меня зарегистрирован произвольный типа записи:
add_action('init', 'my_custom_init');
function my_custom_init(){
    register_post_type('free_page', array(
        'labels'             => array(
            'name'               => 'Простые записи', // Основное название типа записи
            'singular_name'      => 'Простые записи', // отдельное название записи типа 
            'add_new'            => 'Добавить ', // для добавления новой записи
            'add_new_item'       => 'Добавление ', // заголовка у вновь создаваемой записи в админ-панели.
            'edit_item'          => 'Редактирование', // для редактирования типа записи
            'new_item'           => 'Новое ', //  новой записи
            'view_item'          => 'Смотреть ', // для просмотра записи этого типа.
            'search_items'       => 'Искать ', // для поиска по этим типам записи
            'not_found'          => 'Не найдено', // если в результате поиска ничего не было найдено
            'not_found_in_trash' => 'Не найдено в корзине', // если не было найдено в корзине
            'parent_item_colon'  => '',
            'menu_name'          => 'Простые записи'

          ),
        'public'             => true,
        'publicly_queryable' => false,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => true,
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => null,
        'supports'           => array('title','editor','author','thumbnail','excerpt','comments')
    ) );
}


В нем созданы определенные страницы и мне с них нужно вытянуть содержимое. А именно заголовок, контент и произвольные поля созданные плагином ACF.

Я пытался вытащить содержимое обычным циклом с указанием ID произвольного типа записи. Но оно так не выводит
<?php $the_query = new WP_Query('p=4'); ?>
<?php while  ($the_query->have_posts() ) : $the_query->the_post(); ?>
<h1><?php the_title(); ?></h1>    
<?php the_content(); ?>
<?php endwhile; ?>
<?php wp_reset_postdata();?>


также, за пределами цикла выводил произвольное поле <?php the_field( "field1", 4 );?> с указанием ID ПТЗ, тоже ничего не выводит
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ответы на вопрос 2
@aarty20
Front-end / Wordpress developer
Попробуйте аргументы все таки записать в виде массива + вы не указали пост-тайп, откуда вп будет тянуть ваш пост ?

$args = array(
'p' => 4,
'post_type' => 'free_page' );

насчет поля, попробуйте достать через get_the_field:
$field = get_the_field('field', 4)
и посмотреть что var_dump($field) выдаст
Ответ написан
@ommunist
Делаю и поддерживаю мультиязычные сайты
Чтобы вывести содержимое ACF нужно выводить не the_content, а проверять не пустое ли поле ACF и потом выводить его содержимое примерно вот так:
<div class="article__lead">
				<?php if( get_field('video-of-recipe') ): ?>
					<?php the_field('video-of-recipe'); ?>
				<?php endif; ?>
            </div>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы