Domanda

Sono davvero in perdita per spiegare perché questo non sta funzionando:

Sto usando uno shortcode per visualizzare una query su un tipo di messaggio personalizzato + tassonomia, questo è il segmento di esso:

        // - arguments -
        $args = array(
            'post_type' => 'customposttypename',
            'taxonomyname' => 'alpha',
            'post_status' => 'publish',
        );

        // - query -
        $my_query = null;
        $my_query = new WP_query($args);
        while ($my_query->have_posts()) : $my_query->the_post();

        // - variables -
        $custom = get_post_custom($post->ID);

... e poi le variabili andare avanti. Il fatto è, però, quando si esegue il ciclo, mi mostra tutto il contenuto del post predefinito (cioè titolo, contenuto, ecc), ma si rifiuta di mostrare i contenuti di tipo messaggio personalizzato e ferma sull'ultima riga sopra (linea 145), cioè $custom = get_post_custom($post->ID); dandomi il seguente errore ..

Avviso: Undefined variable: in post C: \ xampplite ... \ functions.php on line 145

Avviso: Cercando di ottenere la proprietà di non oggetto C: \ xampplite ... \ functions.php on line 145

Poi qui mi mostra il titolo, contenuto, ecc normalmente (proprio nessun personalizzato messaggio contenuto tipo)

Qualcuno ha idea di cosa' che sto facendo di sbagliato?

Grazie!

È stato utile?

Soluzione

Avviso: Cercando di ottenere la proprietà di non-oggetto

Volesse indciate che $post non ha alcuna portata all'interno vostra funzione. Una soluzione semplice sarebbe di globalizzare $post quindi ha portata, fissando in modo efficace l'errore.

Tuttavia, ogni volta che si crea una query, o esegue il metodo loop e chiamate the_post questo ti dà l'accesso al WordPress modello tag .

Invece di inserire dei comandi di livello mondiale che si potrebbe chiamare get_the_ID() che dovrebbe naturalmente contenere id della data di posta (es. Il post corrente per quella iterazione del ciclo).

Aggiorna il tuo linea di problema a leggere ..

$custom = get_post_custom( get_the_ID() );

E che dovrebbe chiarire il problema, ovviamente notando dare portata $post all'interno della funzione sarebbe anche il lavoro, semplicemente sarebbe non guardare come poetica ..;)

Piccolo domanda lato posteriore per il richiedente, che cosa stai cercando quando si chiama get_post_custom, stai controllando per alcuni particolari chiavi di meta, o ciclare su ogni elemento meta a trovare? Ci può essere qualche margine di miglioramento lì (se siete interessati).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top