这是与 WordPress 和获取模板部件相关的问题。
我已将page.php
和single.php
设置为get_template_part
,因此可以轻松编辑未来的模板。
但是,我注意到当它们位于两个不同的文件中时,其中两个不起作用。它们只有在同一个文件中才有效。
<?php get_template_part( 'toppbilde', 'mal' ); ?>
<article>
<?php get_template_part( 'ingress', 'm' ); ?>
<?php get_template_part( 'body', 'm' ); ?>
</article>
toppbilde-mal.php
是精选图片。这很有效。
ingress-m.php
是更多标记之前的文字。它具有以下代码:
<div class="clearfix">
<div class="holder color1 whitetext centertext">
<div class="container">
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-10">
<h1 class="littluft" id="post-<?php the_ID(); ?>"><?php the_title(); ?></h1>
<div class="littluft">
<?php
// Fetch post content
$content = get_post_field( 'post_content', get_the_ID() );
$content = apply_filters('the_content', $content);
// Get content parts
$content_parts = get_extended( $content );
// Output part before <!--more--> tag
echo $content_parts['main'];
?>
</div>
</div>
<div class="col-md-1"></div>
</div>
</div>
</div>
</div>
body-m.php
是更多标记之后的文字。它具有以下代码:
<?php if (!empty($content_parts['extended'])) { ?>
<div class="clearfix">
<div class="holder white color1text">
<div class="container">
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-10">
<div>
<?php echo $content_parts['extended']; ?>
</div>
</div>
<div class="col-md-1"></div>
</div>
</div>
</div>
</div>
<?php } ?>
使用page.php
上面的代码时,get_template_part('body', 'm')
不起作用。它没有任何表现。但是,get_template_part('ingress', 'm')
有效。
...上面的代码已更改,并且未使用get_template_part
。意味着所有代码都在page.php
。
get_template_part('body', 'm')
和get_template_part( 'ingress', 'm')
不能位于两个单独的文件中。
任何想法为什么?以及如何解决这个问题?
答案 0 :(得分:0)
有时候它有助于阅读我自己的问题。
问题是抓取和接收内容部分没有保存在文件中。
所以我需要做的就是在body-m.php
的开头写下以下内容:
<?php
// Fetch post content
$content = get_post_field( 'post_content', get_the_ID() );
$content = apply_filters('the_content', $content);
// Get content parts
$content_parts = get_extended( $content );
?>
这解决了这个问题。