下面的代码正确显示我选择的页面、其内容和短代码。该页面是从 WP Admin 中的主题选项面板中选择的。
我正在努力呼应帖子标题。目前,它与所有页面标题相呼应。
<?php
$blockwho = get_option('good_blockwho');
$homeblockwho = get_pages ('post_name='.$blockwho); ?>
<?php foreach ($homeblockwho as $hbw) {
$content = $hbw->post_content;
$title = $hbw->post_title;
apply_filters('the_content', $content);
echo "<h2><span>".$title."</span></h2>";
echo "".do_shortcode($content)."";
} ?>
要回显单个 WordPress 页面的标题,请执行此 WordPress 功能
<?php the_title() ?>
你也可以用一些 html 包围它以进行 css 格式化,如下所示->
<h2><?php the_title() ?></h2>
祝你好运
根据法典:http://codex.wordpress.org/Function_Reference/get_pages
“post_name”不是 get_pages 的参数,它是“sort_column”的可能值。
尝试以下操作:
<?php
global $post;
$blockwho = get_option('good_blockwho');
$page = get_page_by_title($blockwho);
$myposts = get_posts('post_type=page&p='$page->ID);
foreach($myposts as $post) :
setup_postdata($post);
?>
<?php the_title(); ?>
<?php endforeach; ?>
<?php
$blockwho = get_option('good_blockwho');
$homeblockwho = get_pages ('post_name='.$blockwho); ?>
<?php foreach ($homeblockwho as $hbw) {
$content = $hbw->post_content;
$title = $hbw->post_title;
apply_filters('the_content', $content);
echo "<h2><span>".$homeblockwho ->post_title."</span></h2>";
echo "".do_shortcode($content)."";
}?>
如果您只想回显一页,这应该可以解决问题:
<?php
$blockwho = get_option('good_blockwho');
$page = get_post($blockwho);
$content = $page->post_content;
apply_filters('the_content', $content);
echo "<h2><span>".$page->post_title."</span></h2>";
echo "".do_shortcode($content)."";
首先,我建议将实际页面/帖子 ID 存储在选项表中,而不是其名称,您仍然可以向用户显示页面标题,只需有一个下拉框,其中选项值作为 ID
您检查过 j-man86 的答案中的 $page->ID 实际上返回了正确的 ID 吗?
假设存储的选项是页面 ID 而不是页面标题,则以下内容可行
$page = get_page(get_option('good_blockwho'));
$title = $page->post_title;
$content = apply_filters('the_content', $page->post_content);