簡體   English   中英

wordpress通過自定義php頁面中的帖子循環

[英]wordpress looping through posts in custom php page

我試圖遍歷自定義php頁面中的帖子,但是無論我做什么,都找不到任何帖子,這是我在my-custom-page.php中編寫的代碼

<?php 
require_once("/wp-load.php");
get_header();?>
<div id="blog">
<?php if(have_posts()) : ?>
 <?php echo"anything"; ?>
<?php endif; ?>
</div>
<?php get_footer();?>

您應該通過此文件的完整路徑要求wp-load.php。

硬編碼示例:

require_once("user/home/public-html/wordpress/wp-load.php");

軟編碼示例(假設您的文件與WordPress位於同一目錄中):

require_once(dirname(__FILE__)."/wp-load.php");

在顯示帖子之前,您還必須查詢帖子。 因此,您需要將此行添加到代碼中:

query_posts('post_type=post');

查詢參數可能會有所不同,具體取決於您要顯示的內容。 其中一些是WP_Post類的成員變量。 轉到https://codex.wordpress.org/Class_Reference/WP_Post以供參考。

在這里,您可以重新編寫代碼,以顯示最新發布的30篇文章的標題:

<?php
require_once(dirname(__FILE__)."/wp-load.php");
query_posts('post_type=post&showposts=30');
get_header();?>
<div id="blog">
<?php
if (have_posts()) :
   while (have_posts()) :
      the_post();
         the_title();
         echo '<br />';
   endwhile;
else :
    echo 'Sorry, no posts found.';
endif;?>
</div>
<?php get_footer();

wp_count_posts:
@return object每種狀態的帖子數。

您正在嘗試回顯以致命錯誤結尾的對象。 此外,如果您想查看所有帖子,則the_post不正確。 在功能參考中查找它: https : //codex.wordpress.org/Function_Reference/the_post 我會做其他的(谷歌這樣的“獲取所有帖子”)。

正如Carlos先生在評論中建議的那樣,我將一個參數傳遞給have_posts方法,現在它可以工作了! 這段代碼對我有用

`require('./wp-blog-header.php');
 get_header();?>
 <div id="blog">
 <?php if(have_posts(array('post_type' =>'page'))
   {
    echo"anything";
   }?>
 </div>
 <?php get_footer();?>`

如果您將使用主題內的代碼,請使用與Carlos先生相同的代碼,但不帶目錄

require_once("/wp-load.php");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM