2016-07-15 58 views
0

我想格式化具有自定义类型的单个帖子页面模板。我使用完全显示帖子内容的the_content(),但是如何调用个别内容字段以便我可以将它们排列在模板中?如何在Wordpress帖子页面安排the_content()?

的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; ?> 
+0

你想与我沟通什么*我如何调用个别内容字段,以便我可以将它们安排在模板中?*顺便说一句,你可以创建一个名为:的文件。 “** single-stories.php **”并在该文件中执行所有自定义... – Poiz

+0

我想访问不同div的内容。例如,我希望标题出现在与编辑器中的文本不同的列中。所以我试图只返回自定义字段。 – emcee

回答

0

您将需要创建在帖子中使用,如果你想分离出内容的部分,如单独每一段或某事的自定义字段。 the_content()将始终打印出整个内容。

如果你想要一个插件来做到这一点,这是最流行的 https://wordpress.org/plugins/advanced-custom-fields/

或者,创建一个新的职位时,你可以到顶部,然后单击Screen Options然后检查Custom Fields box

自定义字段将显示在您的帖子内容框下。您可以创建一个新的值并为其赋值(它们充当键/值对)。

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

$post_id - >是您要的元价值的帖子的ID。使用$post->ID可获得$post变量作用域中的帖子ID。使用get_the_ID()可以检索WordPress循环中当前项目的ID。

$key - >是一个包含所需元值名称的字符串。可以是truefalse。如果设置为true,则该函数将以字符串的形式返回单个结果。如果为false或未设置,则该函数将返回自定义字段的数组。

+0

谢谢!这是我正在寻找的。有没有办法删除自定义字段? – emcee

+0

如果你只是想删除特定的帖子,你可以在WordPress的管理员创建帖子的屏幕上进行。如果您想要删除所有帖子中的自定义字段,最好进入phpmyadmin并执行SQL查询,以便将所有帖子中的所有内容从一行中删除。也许有一个更简单的方法来做到这一点,但我并不确定。 –

0

由于您的定制后的名称是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; ?> 
+0

谢谢你的回答。我想我的问题措辞很差,但是奈特能够解读我。 – emcee

相关问题