如何在 Wordpress post 页面中排列 the_content()?

How to arrange the_content() in Wordpress post page?

我正在尝试格式化具有自定义类型的单个 post 页面模板。我正在使用 the_content() 来显示 post 内容,但我如何调用各个内容字段以便我可以在模板中排列它们?

functions.php

function stories_init() {
$args = array(
  'label' => 'Stories',
    'public' => true,
    'show_ui' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'rewrite' => array('slug' => 'stories'),
    'query_var' => true,
    'menu_icon' => 'dashicons-video-alt',
    'supports' => array(
        'title',
        'editor',
        'custom-fields',

        'thumbnail',)



    );
register_post_type( 'stories', $args );
}

单-post.html

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>

<?php endwhile;  ?>

由于您的 Custom-Post 的名称是 stories,您最好在主题目录中创建一个名为 single-stories.php 的专用文件。在该文件中,您可以执行如下操作:

<?php 
    // FILE-NAME: single-stories.php

    if ( have_posts() ) : 
        while ( have_posts() ) : the_post(); $id= get_the_ID(); // IN CASE YOU NEED IT ?>
            <h2><?php the_title(); ?></h2>
            <?php the_content(); ?>
            <span class="entry-author"><?php echo get_the_author(); ?></span>
            <span class="entry-date"><?php echo get_the_date(); ?></span>
            <!-- YOU CAN DO AS YOU WISH IN THIS FILE -->
            <!-- AND THE RENDERING HERE WILL BE UNIQUE TO THE CUSTOM STORIES POSTS -->
            <!-- HOWEVER, BE INFORMED THAT THIS IS FOR DETAILED (SINGLE-POST) VIEW ONLY -->
        <?php endwhile;  ?>
    <?php endif;  ?>

如果您想将内容的各个部分分开,例如每个段落或其他内容,则需要创建要在 post 中使用的自定义字段。 the_content() 将始终打印出全部内容。

如果你想要一个插件来做,这个是最受欢迎的 https://wordpress.org/plugins/advanced-custom-fields/

或者,在创建新的 post 时,您可以转到顶部并单击 Screen Options,然后选中 Custom Fields box

自定义字段将显示在您的 post 内容框下方。您可以创建一个新的并为其赋值(它们作为 key/value 对)。

要在您的模板中调用它,请使用 <?php echo get_post_meta($post_id, $key, $single); ?>

$post_id -> 是您想要其元值的 post 的 ID。使用 $post->ID$post 变量范围内获取 post 的 ID。使用 get_the_ID() 检索 WordPress 循环中当前项目的 ID。

$key -> 是一个包含你想要的元值名称的字符串。

$single 可以是 truefalse。如果设置为 true,则该函数将 return 单个结果作为字符串。如果为 false 或未设置,则函数 return 是自定义字段的数组。