Содержимое WordPress не отображается должным образом

#wordpress

#wordpress

Вопрос:

Я застрял в проблеме в WordPress. Я создал пользовательский тип записи, а затем загружаю свой контент. Но когда я вызываю их во внешнем интерфейсе, все содержимое работает нормально. Но когда я добавляю <?php the_content(); ?> , оно отображается неработающим.

пользовательский тип записи (functions.php )

 function sportify_custom_post(){
    register_post_type('intro' , array(
                'public'        => true, 
                'labels'        => array(
                    'name'      => 'Intro',
                    'all_items' => 'Intro Posts',
                    'add_new'   => 'Add intro post'
                ),
                'supports'      => array('title' , 'editor' , 'thumbnail')
            ));
        }
        add_action('init' , 'sportify_custom_post');
  

внешний код:

 <?php 
                $query = new WP_Query(array(
                    'post_type'     => 'intro',
                    'post_per_page' => 3,
                ));
            ?>
            <?php while($query->have_posts()): $query->the_post(); ?>
            <!-- Intro Box -->
            <div class="intro_box d-flex flex-column align-items-center justify-content-center text-center">
                <?php the_post_thumbnail(); ?>
                <div class="intro_box_title"><h3><?php the_title(); ?></h3></div>
                <div class="intro_box_text">
                    <?php the_content(); ?>
                </div>
            </div>
            <?php endwhile; ?>
  

контент выглядит примерно так

Комментарии:

1. Можете ли вы подробно объяснить, чего вы хотите достичь?

2. Я хочу исправить проблему с <?php the_content (); ?> Содержимое выглядит как на картинке. Но ширина текста должна составлять 100% от любого div

3. Я думаю, вам нужно использовать «get_the_content()» вместо «the_content()». Это может вам помочь.

4. Я пробовал get_the_content (); Но из-за этого мой контент исчез. Когда я использую echo, содержимое отображается так же, как и ранее

Ответ №1:

Используйте этот код для functions.php

 function intro_custom_post() {
$labels = array(
'name'               => _x( 'name post type', 'post type general name' ),
'singular_name'      => _x( 'about', 'post type singular name' ),
'add_new'            => _x( 'new', 'about' ),
'add_new_item'       => __( 'new' ),
'edit_item'          => __( 'edit' ),
'new_item'           => __( 'new item' ),
'all_items'          => __( 'all items' ),
'view_item'          => __( 'view item' ),
'search_items'       => __( ' search' ),
'not_found'          => __( 'not found' ),
'not_found_in_trash' => __( 'not found in trash' ),
'featured_image'     => __( 'featured image' ),
'set_featured_image' => __( 'set featured image' ),
'remove_featured_image'     => __( 'remove featured image' ),
'parent_item_colon'  => '',
'menu_name'          => 'menu name'
);
$args = array(
'labels'        => $labels,
'description'   => 'save',
'public'        => true,
'menu_position' => 5,
'supports'      => array( 'title', 'thumbnail','editor','excerpt'),
'has_archive'   => true,
);
register_post_type( 'intro', $args );
}
add_action( 'init', 'intro_custom_post' );
  

Используйте этот код для интерфейса

     <?php
    $args = array( 
    'post_type' => 'intro',
    'posts_per_page' => 18 , 
    );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post(); ?>   
    <!-- Intro Box -->
    <div class="intro_box d-flex flex-column align-items-center justify-content-center text-center">
        <?php the_post_thumbnail(); ?>
        <div class="intro_box_title"><h3><?php the_title(); ?></h3></div>
        <div class="intro_box_text">
            <?php the_content(); ?>
        </div>
    </div>
    <?php endwhile; wp_reset_query(); ?>