web-dev-qa-db-fra.com

Quelles sont les différences entre "Derniers messages" et "Static Page"?

WordPress a une option pour choisir "Derniers messages" et "Page statique" sous "Paramètres" dans le panneau d'administration. Mes questions:

  1. Quel modèle de page est chargé dans chacun de ces modes?
  2. Pourquoi paged cesse de fonctionner et page commence à fonctionner lorsque je sélectionne "Page statique" - paged fonctionne; cependant, lorsque je crée un nouveau modèle de page avec le nouveau WP, la requête et page ne fonctionne pas (il s'agit de WP Query - Je pense que tout le monde sait de quoi je parle - c'est la pagination).
  3. Il semble que get_post_meta($post->ID, "my_custom_field_name", true) cesse de fonctionner lorsque je sélectionne le modèle de page personnalisé comme "page statique", mais la même chose fonctionne lorsque je l'utilise via la "page de visualisation" standard du panneau d'administration (je n'ai pas encore essayé global $post.).
  4. Je pense que toutes mes questions ci-dessus sont liées à ce qui entre dans $wp_query et $post dans chacun de ces modes.

Je ne comprends tout simplement pas ces deux options :) Est-ce que quelqu'un peut me fournir des conseils ou des ressources pour en savoir plus à ce sujet?

2
Paul

Tags conditionnels

  • La balise conditionnelle is_front_page() renvoie true si vous vous trouvez sur la page avant (index.php en tant que solution de repli ou front-page.php).
  • La balise conditionnelle is_home() renvoie true si vous vous trouvez sur la page avant , lorsque vous obtenez no page statique définie comme page de garde, ou lorsque vous avez une page de garde statique et que vous affichez la page Posts (home.php ou index.php comme solution de secours).
  • Si vous avez aucun page de garde statique définie dans "Paramètres> Lecture", alors is_front_page() et is_home() renverront true pour home.php, front-page.php et index.php.

Les options

  • Si vous avez une page de garde statique, alors get_option( 'show_on_front' ); a la valeur page.
  • Pour récupérer l'ID de la page Front , vous pouvez appeler get_page( get_option('page_on_front') ).
  • Pour récupérer le lien vers la page Front , vous pouvez appeler get_permalink( get_option('page_on_front') ).
  • Pour récupérer l'ID de la page Posts , vous pouvez appeler get_page( get_option('page_for_posts') ).
  • Pour récupérer le lien vers la page Posts , vous pouvez appeler get_permalink( get_option('page_for_posts') ).
  • Si vous avez un thème enfant, alors home.php sera et non comme solution de secours pour front-page.php.
  • Pour récupérer des valeurs personnalisées à partir de la page Front , vous pouvez appeler get_post_custom('page_on_front') ).
  • Pour récupérer des valeurs personnalisées à partir de la page Posts , vous pouvez appeler get_post_custom('page_for_posts') ).

... la liste de AAARGH !! s s'allume sans cesse.

en particulier lorsque l'utilisateur essaie de définir le modèle personnalisé comme "Page statique" - la pagination cesse de fonctionner sauf si j'utilise la page et les champs personnalisés cessent de fonctionner sauf si je crée un nouveau WP Query.

D'un commentaire du PO à une autre réponse

Comme vous pouvez le constater dans ce diagramme , il n’est pas facile de savoir quoi utiliser où. Le problème est qu’il ya des fonctions qui interceptent l’objet $wp_query principal, d’autres qui copient le contenu de l’objet $wp_the_query, etc. Et puis, celles qui fonctionnent uniquement avec l’objet $wp_query principal. Je sais que ce n'est pas une réponse complète à votre question de pagination, mais cela n'a jamais été la question. :)

1
kaiser

Avant de répondre à cette question (il ne reste plus assez de temps aujourd'hui), je vais vous relier quelques tickets de piste, ce qui montre que l'interface utilisateur, la dénomination des fonctions, etc.

1
kaiser
  1. vous sélectionnez essentiellement deux modèles, l'un pour la page d'accueil et l'autre pour la page de blog. Il est un peu difficile de comprendre d'après votre question à laquelle de ces questions vos questions se rapportent ...
  2. Le modèle de page associé à la page statique que vous avez sélectionnée ici. La page des derniers messages ignorera le paramètre de modèle et utilisera les instructions de création de modèles de home.php ou index.php.
  3. Parce qu'un contenu de page n'est pas paginé;). La page des derniers messages doit être recherchée, du moins sur mes installations de test, cela fonctionne bien.
  4. Besoin de voir le code exact, mais $ post est global, il est préférable de toujours le déclarer comme tel plutôt que de supposer que votre code n'est pas exécuté à partir d'une fonction et n'a donc pas accès à la portée globale.
  5. Pour la page d'accueil statique, elles contiendront les mêmes valeurs que si vous essayez de charger la page avec sa propre URL. Pour les publications les plus récentes, doit contenir les mêmes valeurs que si vous chargiez la page d'accueil avant de modifier la configuration de la page statique.

Yeh cette chose est compliquée à comprendre :( codex peut réellement aider ici http://codex.wordpress.org/Creating_a_Static_Front_Page

1
Mark Kaplun