我正在制作一个网站并将 wordpress 用作 CMS。我有一个首页,其中有一些小部件就绪区域。我还有其他几个静态页面(例如“关于我”)这些页面有一个摘录(在“更多”行上方)和正文(在更多行下方)。
我已经尝试了几个小时,但我找不到一个好的插件或一些有用的代码,让我在小部件区域(侧边栏)中显示某个页面的摘录。
如果有人可以帮助我,那就太棒了...
试试这个代码的摘录..
<?php query_posts('cat=ID'.'&showposts=NO. OF POST') ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php the_post_thumbnail(); ?>
<p><?php echo substr(get_the_excerpt(), 0,65).' [...]'; ?></p>
<a href="<?php the_permalink(); ?>">Read More...</a>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
<?php endif;?>
更改帖子的类别 ID 和限制...
您可以使用插件来做到这一点,但自己实现它可能更有益。它根本不是很复杂。您必须做两件事才能在小部件中获取帖子摘录。默认情况下,WordPress 不允许您在小部件内运行 php。要解决此问题,请进入您的functions.php
文件并在文件底部添加以下代码:
add_filter('widget_text', 'execute_php', 100);
function execute_php($html) {
if (strpos($html,"<"."?php")!==false) {
ob_start();
eval("?".">".$html);
$html=ob_get_contents();
ob_end_clean();
}
return $html;
}
这允许您在小部件中运行 php 代码。完成后,转到您的小部件菜单并将一个新文本框拖到侧边栏,然后将以下代码放入文本框中:
<?php
global $post;
$tmp_post = $post;
$args = array( 'numberposts' => 5, 'category__in' => array(11));
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata($post);
the_excerpt();
endforeach;
$post = $tmp_post;
?>
此代码将遍历并输出除类别 11 中的前五个帖子之外的内容。您显然可以修改代码以获得您正在寻找的任何特定结果。如果您需要更直接地针对您的具体案例量身定制的代码,请告诉我,我会为您提供帮助。
首先你必须安装PHP Code Widget插件。
将此插件小部件拖动到侧边栏并将此代码放在那里
<?php
// The Query
$the_query = new WP_Query( 'pagename=your page slug' );
// The Loop
while ( $the_query->have_posts() ) : $the_query->the_post();
echo '<li>';
the_content('Read more...');
echo '</li>';
endwhile;
// Reset Post Data
wp_reset_postdata();
?>
希望这会有所帮助