Determinare se la pagina è la Pagina degli Articoli

14 apr 2011, 20:24:00
Visualizzazioni: 85.1K
Voti: 30

Nella pagina Impostazioni di Lettura puoi impostare una "Pagina Iniziale" e una "Pagina degli Articoli". Puoi verificare se la pagina corrente è la pagina iniziale con is_front_page();

Esiste una funzione simile per la "Pagina degli Articoli"? Ho notato che is_page(); non funziona per questa pagina speciale.

Grazie

0
Tutte le risposte alla domanda 6
3
49

is_home() verifica la "Pagina degli articoli", nonostante il nome della funzione possa essere un po' confuso.

14 apr 2011 20:29:13
Commenti

grazie, pensavo di averli controllati tutti, ma a quanto pare no...

mike mike
14 apr 2011 21:02:22

E riguardo a $wp_query->is_posts_page?

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

@WestonRuter ha la risposta corretta alla domanda.

The J The J
19 gen 2017 15:49:38
0
11

WordPress include 7 tipi principali di template di pagina, che possono essere determinati in questo modo:

if ( is_main_query() ) {
    // Pagina di errore
    if ( is_404() ) {
        ;
    }
    // Homepage
    if ( is_front_page() ) {
        ;
    }
    // Archivio
    if ( is_archive() ) {
        ;
    }
    // Popup dei commenti
    if ( is_comments_popup() ) {
        ;
    }
    // Ricerca
    if ( is_search() ) {
        ;
    }
    // Pagina singola
    if ( is_singular() ) {
        ;
    }
    // Home - la pagina del blog
    if ( is_home() ) {
        ;
    }
}

is_home() ti indica che sei sulla pagina del blog.

13 set 2015 13:34:34
0

La "pagina degli articoli" è solitamente un archivio di:

  • articoli di una categoria
  • articoli di un tag
  • articoli per data (anno, mese...)
  • articoli dell'archivio principale

Ognuno di questi può essere verificato utilizzando uno dei tanti tag condizionali come: is_category() is_tag() is_date() is_archive() E molti altri ancora. Per una migliore comprensione consulta il codex http://codex.wordpress.org/Conditional_Tags

14 apr 2011 21:16:20
1

Per prima cosa controlla gli elementi relativi ai blog come autore, tag, tipo di post

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 ;
  }

Ora controlla e restituisci qualcosa che vuoi ottenere

function check_post_type(){
    $postType;
    if (is_blog())
      {
         $postType = 'Sono un post';
      } else
       {
          $postType = 'Sono una pagina';
       };
    return $postType;
  }

Usalo come un Boss <?php echo check_post_type();?>

Grazie a Wes Bos

10 gen 2018 19:14:57
Commenti

questo mi è stato utile quando ho personalizzato la modifica di post.php solo per le pagine.

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

TL;DR

Caso A. Non è necessario determinarlo all'interno del file template principale (index.php) perché è il template predefinito per esso[1].

Caso B. Per determinarlo all'interno di un template di pagina (es: page.php), basta verificarlo così:

get_option( 'page_for_posts' ) == get_the_ID()

Dettagli

Ho letteralmente scavato nel codice sorgente[2] solo per poter capire come WordPress effettua il controllo del valore. Si scopre che utilizza l'istruzione get_option( 'page_for_posts' ) per conoscere l'ID del post del valore selezionato per la Pagina degli articoli.

Quindi sì, per questo scopo, non esiste una funzione ufficiale di controllo simile a is_front_page().

Finché conosci l'ID della pagina che hai selezionato, puoi usarlo per il processo di verifica.

Riferimenti

  1. WordPress Codex, Sviluppo di Temi, codex.wordpress.org/Theme_Development

  2. Codice sorgente di ImpostazioniImpostazioni di lettura, github.com/WordPress/.../wp-admin/options-reading.php

10 mar 2019 02:00:26
0

https://codex.wordpress.org/Conditional_Tags nel Codex di WordPress afferma che puoi fare riferimento alle pagine in questo modo:

if ( is_front_page() && is_home() ) {
  // Pagina iniziale predefinita
} elseif ( is_front_page() ) {
  // Pagina iniziale statica
} elseif ( is_home() ) {
  // Pagina del blog
} else {
  // Tutto il resto
}
30 gen 2021 01:56:37