我正在製作一個網站,並將wordpress用作CMS。 我有一個有一些widget準備區的首頁。 我還有其他幾個靜態頁面(例如'關於我') 這些頁面有一個摘錄(位於'more'行之上)和一個正文文本(位於更多行之下)。如何使用wordpress將頁面摘錄顯示爲小部件?
我一直在嘗試幾個小時,但我找不到一個好的插件或一些有用的代碼,讓我在小部件區域(側欄)中顯示某個頁面的摘錄。
如果有人可以幫助我,這將是真棒......
我正在製作一個網站,並將wordpress用作CMS。 我有一個有一些widget準備區的首頁。 我還有其他幾個靜態頁面(例如'關於我') 這些頁面有一個摘錄(位於'more'行之上)和一個正文文本(位於更多行之下)。如何使用wordpress將頁面摘錄顯示爲小部件?
我一直在嘗試幾個小時,但我找不到一個好的插件或一些有用的代碼,讓我在小部件區域(側欄)中顯示某個頁面的摘錄。
如果有人可以幫助我,這將是真棒......
爲此,您可以用插件,但它可能是更有益的實現它自己。這並不是很複雜。您必須做兩件事才能在小部件中獲得帖子摘錄。默認情況下,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();
?>
希望這將有助於
嘗試爲摘錄這個代碼..
<?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和限額發貼...