Les postes sont-ils censés avoir des parents? Si oui, qu'est-ce que cela signifierait pour un poste d'avoir un parent?
De plus, s'il y a des contraintes aux postes ayant des parents, alors où est-ce appliqué? Pas dans la DB comme je le vois.
Les postes sont-ils censés avoir des parents? Si oui, qu'est-ce que cela signifierait pour un poste d'avoir un parent?
De plus, s'il y a des contraintes aux postes ayant des parents, alors où est-ce appliqué? Pas dans la DB comme je le vois.
Réponses:
Hors de la boîte, non, les messages ne peuvent pas avoir de parents. Ils peuvent être affectés à des catégories, qui peuvent être organisées de manière hiérarchique. Cependant, les pages peuvent avoir des parents et vous pouvez en créer une structure de menu à l'aide de cette fonctionnalité.
Quant à savoir où cela est appliqué: Le parent d'un message est stocké dans la colonne "post_parent" dans "wp_posts". Il n'est pas vraiment appliqué en tant que tel, juste l'interface utilisateur par défaut ne vous donne pas la possibilité de le définir et le codage WP par défaut n'utilise pas cette valeur pour les publications. Il ne serait pas trop difficile de créer un type de publication personnalisé pour avoir des publications avec les parents.
post_parent
attribuons à un autre "post_id" comme il en serait 0
autrement.
Wp a intégré des "Pages" (hiérarchiques, parents autorisés) et des "Posts" (non hiérarchiques). Il existe également d'autres types de messages, mais laissons cela de côté.
Si le Q se traduit par:
Puis-je avoir des postes hiérarchiques?
Ensuite, la réponse est oui ,… vous pouvez avoir des «messages» qui sont hiérarchiques. Mais comme ils ne sont pas intégrés, vous devrez enregistrer votre propre type de publication personnalisé - voir Arguments »hiérarchique.
De tels «articles» (ou articles, peu importe,…) auront alors - au cas où ils auraient un article parent - auront défini l'ID parent dans leur objet. Donc, en boucle, vous pouvez faire ce qui suit:
if ( have_posts )
{
the_post();
// etc.
global $post;
// call parent: http://codex.wordpress.org/Function_Reference/get_post
$parent = get_post( $post->post_parent );
echo "<h2>{$post->post_title} is a child of {$parent->post_title}";
// etc.
} // endif;
Du point de vue des moteurs de recherche, deux de ces réponses combinées aideront Google à suivre la hiérarchie de vos messages, ainsi que les utilisateurs bien sûr.
Ajoutez une page et utilisez-la pour héberger vos publications. "La meilleure façon de définir une page parente dans tous vos articles est via le menu (Apparence -> Personnaliser). Vous pouvez définir une page statique pour votre page d'accueil ou votre page d'articles. Lorsque vous définissez une page d'article statique, cette page s'affiche être le parent de chaque article de blog. "
Modifiez la structure du permalien en / blog /% postname% comme mentionné ci-dessus. "Supposons que vous souhaitiez ajouter un blog avant la publication dans l'URL, puis assurez-vous que le nom du slug de votre page de blog est blog.
Ensuite, allez dans WP-admin-panel> paramètres> permalien et choisissez la dernière option "structure personnalisée" et ajoutez-y ce qui suit:
/ blog /% postname% /
et enregistrez les modifications. Il ne sera appliqué qu'à votre page de blog, les autres pages n'afficheront pas le blog en tant que parent. "
De cette façon, Google voit la hiérarchie dans les sitemaps comme domain.com/page/post (dans cet ordre) et trouvera également le contenu au même endroit. Tout comme les utilisateurs. Travail accompli.
Supposons que vous souhaitiez ajouter un blog avant la publication dans l'URL, puis assurez-vous que le nom de slug de votre page de blog est blog.
Ensuite, allez dans WP-admin-panel> paramètres> permalien et choisissez la dernière option "structure personnalisée" et ajoutez-y ce qui suit:
/blog/%postname%/
et enregistrez les modifications.
Il ne sera appliqué qu'à votre page de blog, les autres pages n'afficheront pas le blog en tant que parent.
Je sais que c'est un ancien poste. Cependant, aucune de ces réponses n'est correcte et je voulais publier la solution que j'ai utilisée pour résoudre ce problème. La meilleure façon de définir une page parent dans tous vos messages est via le menu (Apparence -> Personnaliser). Vous pouvez définir une page statique pour votre page d'accueil ou votre page de publications. Lorsque vous définissez une page de publication statique, cette page sera le parent de chaque publication de blog individuelle.
post_parent
colonne pour identifier la page / publication (y compris les types de publication personnalisés) à laquelle elles sont jointes.