web-dev-qa-db-fra.com

Comment obtenir un objet post sur un modèle de blog

J'ai un gros problème sur la capture d'attributs à partir de $post_object global dans un fichier de modèle de page.

J'ai un Template Name: Blog Page qui est template-blog.php

Sur cette page, j'utilise la page actuelle Permalink pour charger plus de messages en utilisant Ajax.

Donc, fondamentalement, je fais des demandes Ajax dans la même URL, et sur template-blog.php est une condition si $_POST['load_more'] est vrai, si oui que renvoyer une partie des publications.

Mon problème est que je ne peux pas obtenir l'ID de page ou le permalien de page à l'aide de la variable $post lorsque cette page est définie comme page de blog sur WordPress (page de paramètres-lecture-posts).

Lorsque le template-blog.php est configuré en tant que page de publication, la variable $post est la première publication que $wp_query a sur le tableau de sa publication.

J'espère avoir été assez clair.

La description

Sur la page normale, indiquez que le lien permanent est la page Lien permanent:

get_header();
$link = get_the_permalink();

Mais lorsque cette page est configurée en tant que page de messages, le lien permanent est le lien permanent des premiers messages de $ wp_query:

get_header();
$link = get_the_permalink();
1
Burimi

Ne postez pas la demande AJAX sur la page affichée, utilisez plutôt l'API AJAX .

Pour obtenir le permalien de la page blog , utilisez:

get_permalink( get_option( 'page_for_posts' ) );
1
fuxia