I post possono avere genitori?


13

I posti dovrebbero avere genitori? In tal caso, cosa significherebbe per un post avere un genitore?

Inoltre, se ci sono alcuni vincoli ai post che hanno genitori, allora dove viene applicato? Non nel DB come lo vedo io.

Risposte:


15

No, i post non possono avere genitori. Possono essere assegnati a categorie, che possono essere organizzate gerarchicamente. Le pagine, tuttavia, possono avere dei genitori e puoi costruire una struttura di menu usando quella funzione.

Per quanto riguarda dove viene applicato: il genitore di un post è memorizzato nella colonna "post_parent" in "wp_posts". Non è realmente applicato come tale, solo l'interfaccia utente predefinita non ti dà un'opzione per impostarla e la codifica WP predefinita non utilizza quel valore per Post. Tuttavia, non sarebbe troppo difficile creare un tipo di post personalizzato per pubblicare post con i genitori.


2
Si noti inoltre che gli allegati multimediali utilizzano la post_parentcolonna per identificare la pagina / post (inclusi i tipi di post personalizzati) a cui sono allegati.
David Gard,

@DavidGard Hai ragione. Ma penso che questa funzionalità non influirà se assegnassimo post_parenta un altro "post_id" come sarebbe 0altrimenti.
Straniero

11

Wp ha incorporato "Pagine" (gerarchico, genitori ammessi) e "Messaggi" (non gerarchico). Esistono anche altri tipi di post, ma lasciamo perdere.

Se la Q risulta in:

Posso avere post gerarchici?

Quindi la risposta è , ... puoi avere "post" che sono gerarchici. Ma poiché non sono integrati, dovrai registrare il tuo tipo di post personalizzato - vedi Argomenti »gerarchico.

Tali "Post" (o articoli, qualunque cosa, ...) quindi - nel caso in cui abbiano un post principale - avranno impostato l'ID principale all'interno del loro oggetto. Quindi in un ciclo potresti fare quanto segue:

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;

2
Inchiodato perfettamente. Esattamente la cosa che stavo cercando.
Paras Shah,

-1

Dal punto di vista dei motori di ricerca, due di queste risposte combinate aiuteranno Google a tracciare la gerarchia dei tuoi post, oltre agli utenti, ovviamente.

  1. Aggiungi una pagina e usala per ospitare i tuoi post. "Il modo migliore per impostare una pagina principale attraverso tutti i tuoi post è attraverso il menu (Aspetto -> Personalizza). Puoi impostare una pagina statica per la tua home page o pagina dei post. Quando imposti una pagina di post statica, quella pagina essere il genitore di ogni singolo post sul blog ".

  2. Cambia la struttura del permalink in / blog /% postname% come menzionato sopra. "Supponi di voler aggiungere il blog prima di postare nell'URL piuttosto che assicurarti che il nome della lumaca della tua pagina blog sia blog.

Quindi vai su WP-admin-panel> impostazioni> permalink e scegli l'ultima opzione "struttura personalizzata" e aggiungi quanto segue:

/ Blog /% postname% /

e salva le modifiche. Verrà applicato solo alla pagina del tuo blog, l'altra pagina non visualizzerà il blog come genitore. "

In questo modo, Google vede la gerarchia nelle sitemap come domain.com/page/post (in quell'ordine) e troverà il contenuto nello stesso posto. Come faranno gli utenti. Lavoro fatto.


-4

Supponi di voler aggiungere il blog prima di postare nell'URL piuttosto che assicurarti che il nome della lumaca della tua pagina blog sia blog.

Quindi vai su WP-admin-panel> impostazioni> permalink e scegli l'ultima opzione "struttura personalizzata" e aggiungi quanto segue:

/blog/%postname%/

e salva le modifiche.

Verrà applicato solo alla pagina del tuo blog, l'altra pagina non visualizzerà il blog come genitore.


-6

So che questo è un vecchio post. Tuttavia nessuna di queste risposte è corretta e volevo pubblicare la soluzione che ho usato per risolvere questo problema. Il modo migliore per impostare una pagina principale attraverso tutti i tuoi post è attraverso il menu (Aspetto -> Personalizza). È possibile impostare una pagina statica per la home page o la pagina dei post. Quando imposti una pagina di post statico, quella pagina sarà il genitore di ogni singolo post di blog.


2
Questa non è una pagina principale: è un modello che contiene un archivio di post. Impostarlo non rende i messaggi gerarchici.
Kaiser

In che modo non è una pagina principale? È una pagina statica (che a proposito non deve essere un archivio, qualunque sia il modello di pagina che assegni a quella pagina statica, può avere tutto quello che vuoi), e quando questo è impostato i tuoi URL seguono quella gerarchia, così come Breadcrumbs sul posto. È una correzione di 1 minuto che ti consente di assegnare una pagina statica come post parent. La sua domanda non menziona NULLA sul fatto che sia gerarchica in primo luogo. Forse potresti illuminarmi su come questa soluzione sarebbe una cattiva pratica?
LateToTheParty,

"I post devono avere un genitore" è la stessa cosa di "I post sono gerarchici". Un modello può contenere tutto , ma il semplice fatto che contenga un ciclo che ritorna e visualizza un ciclo di archivio non (a) rende la pagina il suo genitore (è solo il punto in cui si trova il ciclo) e (b) non rendere il tipo di posta incorporato "post" gerarchico o, in altre parole, non assegna un genitore. Sì, puoi convocare i post in un ciclo in base a criteri specifici (come una categoria figlio condivisa).
Kaiser,

Non lasciarti criticare o chiarire la tua domanda o risposta. Questo posto è qualcosa in cui ciò deve realmente accadere tutto il tempo per far sì che le risposte migliori abbiano successo e fungano da luogo wiki / biblioteca dove si può andare e capire immediatamente come fare qualcosa o ottenere il maggior numero possibile di approfondimenti su come qualcosa funziona. Incoraggiamo persino le persone (come te) a commentare anche altre risposte. Tieni presente che da nessuna parte ho detto che la tua risposta è una cattiva pratica . È vero in molti modi, solo l'affermazione che rende gerarchico il tipo di post.
Kaiser,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.