要输出HTML正确,请尝试使用PHP的HTML实体编码/解码相关功能实体转换回其适用的字符(如<
和>
)。
WordPress有一个内部函数wpautop
,它将双重换行符(\n
)转换为段落分割。 wp_texturize
(或其他类似名称)将某些字符转换为适当的变体,例如引号和类似名称。
试试这个:
$content = apply_filters('the_content', wpautop(wp_texturize(html_entity_decode($post -> post_content))));
// Note: not properly tested, but should probably output properly "HTMLized" contents.
如果你想输出的东西比这是帖子内容中的HTML标记其他(和使用可湿性粉剂管理员帖子编辑器插入),你必须要继续与主题模板。
编辑:
要插入整个模板到首页,创建一个单页的网站,你需要创建的每个“页”为模板文件。假设您有front-page.php
,content-about.php
,content-portfolio.php
等等。另外你最有可能有header.php
和footer.php
。
在简化形式,每一个将被插入到front-end.php
可能看起来像这样的内容模板:
<?php
/**
* content-about.php
*/
// Get the wanted content as WP Post.
$page_obj = get_page_by_title('About');
$page_content = wpautop($page_obj -> post_content);
?>
<article id="about"> <!-- Begin a new section for the one-page template. -->
<h2><?php echo $page_obj -> post_title; ?></h2>
<?php echo $page_content; ?>
</article>
其他模板(content-portfolio.php
,content-contact.php
等)应遵循类似的结构。
然后在front-page.php
中,您需要包含您的header.php
和footer.php
,正如您通常那样。然后,插图中使用get_template_part
调用来获取和内front-page.php
显示content-abc.php
模板:
<?php
/**
* front-page.php
*/
get_header(); ?>
<!-- Add some markup if you want to. -->
<?php get_template_part('content', 'about'); // 'content-about.php' ?>
<?php get_template_part('content', 'portfolio'); // 'content-portfolio.php' ?>
<?php get_template_part('awesometemplate'); // 'awesometemplate.php' ?>
<!-- Add some markup if you want to. -->
<?php get_footer();
现在,经过WordPress和PHP解析front-page.php
模板,生成的输出可能是这样(取决于你插入到每个东西包括模板) :
<!DOCTYPE html>
<html>
<head>
...
</head>
<body>
<!-- header.php visible contents here -->
<!-- content-about.php: -->
<article id="about">
<h2>About</h2>
<p>Well hello there! This is some <em>nice</em> content from content-about.php.</p>
</article>
<!-- content-portfolio.php: -->
<article id="portfolio">
<h2>Portfolio</h2>
<ul>
<li>
...
</li>
</ul>
</article>
<!-- awesometemplate.php: -->
<article id="awesome">
<h2>Awesome!</h2>
<table>
...
</table>
</article>
<!-- footer.php visible contents here -->
</body>
</html>
持有的内容和现在你已经走散了模板嵌入front-page.php
创建一个单页的主模板。如果你愿意的话,你可以使用CSS和JS来使它变得华丽。
注意:您也可以使用PHP自己的include
或require
函数将子模板插入front-page.php
。
您能粘贴一些您的代码与'echo $ content;'回显的示例内容吗? – ojrask 2014-08-27 13:05:31