Query SQL personalizzato per una pagina Wordpress

3 mag 2013, 17:08:48
Visualizzazioni: 47.8K
Voti: 7

Sono abbastanza nuovo a Wordpress. Sto cercando di creare una visualizzazione tabellare all'interno di una pagina Wordpress. Per questo ho bisogno di una query SQL personalizzata al mio database MySQL.

  1. Eseguire query sul mio database MySQL
  2. Ottenere il risultato in qualche formato HTML per visualizzarlo in una tabella all'interno di una pagina Wordpress.

La mia domanda è: Come posso usare la classe wpdb in una pagina Wordpress quando non è possibile inserire codice PHP direttamente nella pagina?

6
Commenti

Utilizza la classe wpdb per query personalizzate in WordPress. Potresti anche voler provare la classe WP_Query.

RRikesh RRikesh
3 mag 2013 17:12:12

Per favore modifica la tua domanda per spiegare esattamente cosa stai cercando di ottenere. Dire che vuoi estrarre dati da MySQL in una pagina WordPress è troppo vago per ottenere un aiuto utile.

Pat J Pat J
3 mag 2013 17:18:20

Ci si aspetta che tu abbia ricercato il problema e fatto un tentativo di risolverlo prima di pubblicare una domanda. Controlla la pagina del Codex per gli shortcodes per iniziare. Questa domanda è piuttosto ampia e sembra contenere diverse domande in una. Vedi anche: come fare una buona domanda

s_ha_dum s_ha_dum
3 mag 2013 17:19:50

Ho modificato la mia domanda e so che in qualche modo la wpdb_class è la risposta, ma dove devo inserire il codice php necessario per utilizzare la wpdb_class? Immagino che debba essere posizionato da qualche parte al di fuori della pagina WordPress, e ho bisogno di capire come trasferire i risultati da quel punto alla pagina WordPress.

user32354 user32354
3 mag 2013 17:28:19

Puoi sia scrivere un plugin per WordPress, sia inserire il tuo codice nel file functions.php del tuo tema. Permettere l'inserimento diretto di codice PHP nell'editor di WP è un incubo per la sicurezza, per usare un eufemismo.

Pat J Pat J
3 mag 2013 17:41:35

@Pat J: Quindi diciamo che ho creato il mio plugin come descritto. Come posso ora visualizzare il risultato della query di quel plugin su una pagina WordPress?

user32354 user32354
3 mag 2013 18:43:16
Mostra i restanti 1 commenti
Tutte le risposte alla domanda 2
0
11

L'oggetto wpdb può essere utilizzato per eseguire query arbitrarie contro il database di WordPress. Supponiamo che tu voglia elencare i 4 post più recenti:

$results = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE `post_type`='post' LIMIT 4" );

La variabile $wpdb->posts restituirà il nome della tabella dei post. Di solito è wp_posts, ma se stai utilizzando un prefisso personalizzato per il database potrebbe essere diverso.

Tuttavia, se stai cercando di recuperare dati di post (o dati di post personalizzati, meta informazioni, dati utente o... qualsiasi cosa integrata in WordPress), dovresti davvero utilizzare WP_Query.

Ecco la stessa query di sopra, riscritta per WP_Query:

$query = new WP_Query(
    array(
        'post_type'      => 'post',
        'posts_per_page' => 4
    )
);

Il vantaggio di usare WP_Query è che si unirà automaticamente alla tabella dei meta post e restituirà un array di oggetti WP_Post con cui puoi lavorare e iterare.

3 mag 2013 18:08:39
2
<?php 
global $wpdb;
$post_id = $wpdb->get_results("SELECT post_id FROM $wpdb->postmeta WHERE (meta_key = 'mfn-post-link1' AND meta_value = '". $from ."')");
    print_r($post_id); /
?>

Definisci la variabile globale $wpdb poi esegui una query personalizzata e passa $wpdb->get_results();

9 nov 2020 12:26:03
Commenti

Per favore [modifica] la tua risposta e aggiungi una spiegazione: perché questa soluzione potrebbe risolvere il problema?

fuxia fuxia
9 nov 2020 15:38:44

Con questa query puoi utilizzarla in qualsiasi punto di WordPress per ottenere dati all'interno della piattaforma

Gurpreet Singh Gurpreet Singh
10 nov 2020 08:11:19