0

我正在使用的主题有一个名为“home”的页面,其正文显示在主页上。我设置了另一个页面,称为“关于”,它是关于页面的详细信息,而且很长。我希望主页上有文字,它是关于页面的简短摘要。我在“关于”页面的摘录中有这个概要。有没有办法让我在“主页”的正文中使用该摘录?

通过这样做,我可以告诉客户所有关于信息都在一个页面中,而不是告诉他去不同的页面来编辑直接相关的内容。

编辑:我想在不编辑主题代码的情况下这样做,所以通过管理员页面编辑器

4

2 回答 2

1

这听起来很简单,就像在你的主文件中包含你的“关于”文件的 PHP 一样简单,它会给你你正在寻找的东西......

将此代码(或其摘录)放在您的主文件中,并确保您的“about.php”文件位于同一文件夹中...

<body>
    <div id="about">
        <?php include("about.php"); ?>
    </div>
</body>

这将允许您在不直接影响您的家的情况下对您的 about 文件进行更改,但这些更改将应用​​于两个页面......

于 2013-09-02T18:11:10.457 回答
1

除了使用“包含”,您可以使用以下内容来获取关于页面的页面摘录并坚持使用原生 wordpress 功能:

$about = get_page_by_title( 'ABOUT_TITLE' );
$about_excerpt = $about->post_excerpt;

然后您可以使用以下命令将其回显到您的主题模板中:

<?php echo $about_excerpt; ?>

如果您想在 Wordpress 后端执行此操作,您将创建一个自定义简码并将上述内容包装到一个函数中以由该简码调用。然后,您可以将该短代码放在任何帖子/页面上的任何位置。

编辑:

这是通过简码执行此操作的示例,以便您可以将其用于“关于”页面或任何其他带有 Wordpress 摘录的页面:

add_shortcode( "Excerpt", 'nb_excerpt_shortcode' );
function nb_excerpt_shortcode( $atts, $content = null ) {
extract( shortcode_atts( array(
    'for' => ''
), $atts) );
$page = get_page_by_title( $for );
$excerpt = $page->post_excerpt;

return $excerpt;
}

然后用[Excerpt for="About" /]将其付诸行动

于 2013-09-02T18:40:32.130 回答