簡體   English   中英

在單獨的頁面上顯示 WordPress 帖子

[英]Display WordPress posts on a separate page

我有一個博客和一個網站; 兩者是分開的東西。 例如,我將www.domainname.com作為主站點,博客將位於www.domainname.com/blog/

這是一個 WordPress 博客,但是我不希望人們查看 WordPress 前端,所以我想編寫一個 php 函數,將帖子從 WordPress 拉到主站點上的一個單獨頁面。

到目前為止我得到的功能如下:

<div id="blogPosts">
<?php
    require('../path1/path2/wp-blog-header.php');
?>    
<?php
    $posts = get_posts('numberposts=10&order=DESC&orderby=post_title');
    foreach ($posts as $post) : start_wp();
?>  
    <h4 class="blogDate"> <? the_date(); ?> </h4>
    <hr />
    <h5 class="blogTitle"> <? the_title(); ?> </h5>
    <p class="blogText"> <? the_excerpt() ?> </p>
    <br />
<?php
    endforeach;
?>
</div>

它會很好地顯示頁面,但它根本不會將帖子發布到頁面上。 任何想法為什么它不起作用?

你確定你收到帖子了嗎? 獲取帖子后嘗試轉儲它們,如下所示:

var_dump($posts)

$posts-variable 是否包含任何內容? 如果沒有,您可能不會收到這些帖子,因為 $wpdb(數據庫連接類)仍未定義。

其次,當你嘗試時會發生什么

<?php echo $post->post_date ?>

代替

<? the_date(); ?>

可能是 wordpress 沒有意識到您處於循環中,因此循環函數(例如 the_date、the_title 等)將不起作用。

讓我知道其中一項是否有效。

首先,把它放在你包含 wp-blog-header.php 之前

define('WP_USE_THEMES', false);

如果你想使用循環函數,我認為你正在尋找 wp_query 而不是 get_posts

$the_query = new WP_Query( $args );

while ( $the_query->have_posts() ) : $the_query->the_post();
    the_title();
endwhile;
wp_reset_postdata();

僅從快速搜索中我看到get_posts( $args )用法期望$args是具有這些可選值的數組

$args = array(
'numberposts'     => 5,
'offset'          => 0,
'category'        => ,
'orderby'         => 'post_date',
'order'           => 'DESC',
'include'         => ,
'exclude'         => ,
'meta_key'        => ,
'meta_value'      => ,
'post_type'       => 'post',
'post_mime_type'  => ,
'post_parent'     => ,
'post_status'     => 'publish' );

暫無
暫無

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

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