2012-08-30 70 views
0

我正在製作一個網站,並將wordpress用作CMS。 我有一個有一些widget準備區的首頁。 我還有其他幾個靜態頁面(例如'關於我') 這些頁面有一個摘錄(位於'more'行之上)和一個正文文本(位於更多行之下)。如何使用wordpress將頁面摘錄顯示爲小部件?

我一直在嘗試幾個小時,但我找不到一個好的插件或一些有用的代碼,讓我在小部件區域(側欄)中顯示某個頁面的摘錄。

如果有人可以幫助我,這將是真棒......

回答

1

爲此,您可以用插件,但它可能是更有益的實現它自己。這並不是很複雜。您必須做兩件事才能在小部件中獲得帖子摘錄。默認情況下,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中。您顯然可以修改代碼以獲得您要查找的任何特定結果。讓我知道你是否需要更直接針對你的具體案例量身定製的代碼,我會幫你解決的。

0

首先你必須安裝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(); 

?> 

希望這將有助於

1

嘗試爲摘錄這個代碼..

<?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和限額發貼...

相關問題