Determină dacă pagina este Pagina de Articole

14 apr. 2011, 20:24:00
Vizualizări: 85.1K
Voturi: 30

În pagina Setări de Citire poți seta o "Pagină de Start" și o "Pagină de Articole". Poți verifica dacă pagina curentă este is_front_page();

Există o funcție similară pentru "Pagina de Articole". Am observat că is_page(); nu funcționează pentru această pagină specială.

Mulțumesc

0
Toate răspunsurile la întrebare 6
3
49

is_home() verifică "Pagina de Articole", în ciuda numelui funcției care poate fi puțin confuz.

14 apr. 2011 20:29:13
Comentarii

mersi, am crezut că le-am verificat pe toate, dar se pare că nu...

mike mike
14 apr. 2011 21:02:22

Dar despre $wp_query->is_posts_page?

Weston Ruter Weston Ruter
15 mai 2013 11:03:36

@WestonRuter are răspunsul corect la întrebare.

The J The J
19 ian. 2017 15:49:38
0
11

WordPress vine cu 7 tipuri principale de șabloane de pagini, care pot fi determinate în acest fel

if ( is_main_query() ) {
    // Eroare
    if ( is_404() ) {
        ;
    }
    // Pagina principală
    if ( is_front_page() ) {
        ;
    }
    // Arhivă
    if ( is_archive() ) {
        ;
    }
    // Popup comentarii
    if ( is_comments_popup() ) {
        ;
    }
    // Căutare
    if ( is_search() ) {
        ;
    }
    // Singular
    if ( is_singular() ) {
        ;
    }
    // Pagina de blog
    if ( is_home() ) {
        ;
    }
}

is_home indică faptul că vă aflați pe pagina de blog.

13 sept. 2015 13:34:34
0

"Pagina de articole" este de obicei o arhivă a:

  • articole dintr-o categorie
  • articole cu un anumit tag
  • articole dintr-o anumită dată (an, lună...)
  • articole din arhiva principală

Fiecare dintre acestea poate fi verificat folosind una dintre numeroasele tag-uri condiționale precum is_category() is_tag() is_date() is_archive() Și multe altele. Pentru a înțelege mai bine, consultă codex-ul http://codex.wordpress.org/Conditional_Tags

14 apr. 2011 21:16:20
1

Mai întâi verifică elementele legate de bloguri, cum ar fi autorul, etichetele, tipul postării

function is_blog () {
        global  $post;
        $posttype = get_post_type($post );
        return ( ((is_archive()) || (is_author()) || (is_category()) || (is_home()) || (is_single()) || (is_tag())) && ( $posttype == 'post')  ) ? true : false ;
  }

Acum verifică și returnează ceea ce dorești să obții

function check_post_type(){
    $postType;
    if (is_blog())
      {
         $postType = 'Sunt o postare';
      } else
       {
          $postType = 'Sunt o pagină';
       };
    return $postType;
  }

Folosește-o ca un șef <?php echo check_post_type();?>

Mulțumiri către Wes Bos

10 ian. 2018 19:14:57
Comentarii

acest lucru tocmai m-a ajutat când am personalizat post.php doar pentru editarea paginilor.

Jonatas CD Jonatas CD
4 mai 2021 16:31:19
0

TL;DR

Cazul A. Nu este necesar să o determinați în fișierul șablon principal (index.php) deoarece acesta este șablonul implicit pentru el[1].

Cazul B. Pentru a o determina într-un șablon de pagină (ex: page.php), pur și simplu verificați astfel:

get_option( 'page_for_posts' ) == get_the_ID()

Detalii

Am săpat literalmente în codul sursă[2] doar pentru a putea afla cum WordPress face verificarea valorii. Se pare că folosește instrucțiunea get_option( 'page_for_posts' ) pentru a afla ID-ul postării ales pentru valoarea din Pagina de articole.

Deci, pentru acest scop, nu există o funcție oficială de verificare similară cu is_front_page().

Atâta timp cât cunoașteți ID-ul paginii pe care ați selectat-o, îl puteți folosi pentru procesul de verificare.

Referințe

  1. WordPress Codex, Dezvoltare de teme, codex.wordpress.org/Theme_Development

  2. Codul sursă al SetăriSetări de citire, github.com/WordPress/.../wp-admin/options-reading.php

10 mar. 2019 02:00:26
0

https://codex.wordpress.org/Conditional_Tags în WordPress Codex spune că poți face referire la pagini astfel:

if ( is_front_page() && is_home() ) {
  // Pagina principală implicită
} elseif ( is_front_page() ) {
  // Pagina principală statică
} elseif ( is_home() ) {
  // Pagina de blog
} else {
  // Orice altceva
}
30 ian. 2021 01:56:37