it-swarm.dev

Problém s get_next_post () get_previous_post () vrací null

Používám wp jako motor, aby funkce blogu v existujících stránkách. Mám místo na stránce blogu, kde načítám wp-load.php. Chci získat další a předchozí příspěvky, ale když načítám příspěvek z wpdb, oba get_next_post() a get_previous_post() oba vrátí NULL. Co musím udělat, aby tyto funkce vrátily správné hodnoty?

Upravit Zde je kód:

if ( isset($_GET['article_id']) && is_numeric($_GET['article_id']) ) {

    $id = $_GET['article_id'];
    $objPost = get_post($id);

    new dBug(get_next_post());
    new dBug(get_previous_post());

}

dBug je docela tisková třída. V současné době dává dvě NULLs. Zkusil jsem to:

if ( isset($_GET['article_id']) && is_numeric($_GET['article_id']) ) {

    $id = $_GET['article_id'];
    $objPost = get_post($id);
    setup_postdata($objPost);
    new dBug(get_next_post());
    new dBug(get_previous_post());

} ale žádné štěstí. Stále NULL.

1
user1359

Musíte zavolat setup_postdata($post).

get_next_post () a get_previous_post () závisí na voláních na několik vlastnosti v globální proměnné $ post, která je naplněna voláním setup_postdata($post) nebo the_post(). Pokud je $ post prázdný, vrátí hodnotu null.

2
goldenapples