Kuinka yhdistää toinen tietokanta WordPressiin
Äskettäin sain kysymyksen kuinka yhdistää vielä yksi tietokanta WordPress-verkkosivustoon. Ensinnäkin haluan tehdä selväksi, että WordPress on rakennettu siten, että voit käyttää mitä tahansa määrää sivustoja tai hallita toimintoja yhdestä tietokannasta. Mielestäni meidän ei koskaan tarvitse yhdistää useampaa kuin yhtä tietokantaa WordPress-verkkosivustoon.
Mutta silti, jos joku etsii ratkaisua useiden tietokantojen yhdistämiseen, sille on yksi hakkerointi. Tämän hakkeroinnin avulla voit hakea tietueet toisesta tietokannasta wpdb- luokan menetelmillä. Tämä hakkerointi ei salli sinun käyttää WordPressin tarjoamia ydinmenetelmiä toisessa tietokannassasi. Toiminnot, kuten get_option(), update_option (), wp_insert_post (), get_post_meta (), eivät ole käytettävissä muussa tietokannassasi.
Siinä tapauksessa käyttäjä voi noutaa tiedot vaihtoehdoista, lähettää taulukoita käyttämällä SQL-kyselyitä wpdb-luokan menetelmillä. Nämä menetelmät ovat get_var (), get_row (), get_col (), get_results () jne.
Yhdistä toinen tietokanta WordPressiin
Kun sinun on yhdistettävä toinen tietokanta, luo wpdb-luokan ilmentymä. Näin saat pääsyn kaikkiin käytettävissä oleviin wpdb-luokan menetelmiin. Käyttäjä voi käyttää näitä luokkamenetelmiä suoraan vuorovaikutuksessa ulkoisen tietokannan kanssa.
Aloittamiseksi sinulla on oltava ulkoisen tietokannan kirjautumistiedot.
Kuten sanottu, sen on luotava wpdb-luokan esiintymä. Tämän esiintymän tulisi olla käytettävissä kaikkialla WordPress-sovelluksessa. Lisää tätä varten alla oleva koodi functions.php
tiedostoon.
function connect_another_db() {
global $seconddb;
$seconddb = new wpdb(USERNAME, PASSWORD, DATABASE_NAME, HOSTNAME);
}
add_action('init', 'connect_another_db');
Muista korvata kaikki paikkamerkit todellisilla arvoilla. Kun lisäät yllä olevan koodin, olet yhteydessä toiseen tietokantaan. Voit käyttää tätä toista esiintymää seuraavasti:
global $seconddb;
$user_count = $seconddb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
echo "<p>User count is {$user_count}</p>";
Pidä muistiinpano, että toisen tietokannan taulukon etuliitteen on oltava sama kuin alkuperäinen tietokanta. Jos taulukon etuliite on erilainen, sinun on mainittava etuliite nimenomaisesti alla olevan kuvan mukaisesti:
global $seconddb;
$prefix = 'wp2_'; // here 'wp2' is the table prefix of second database
$user_count = $seconddb->get_var( "SELECT COUNT(*) FROM $prefix"."users" );
echo "<p>User count is {$user_count}</p>";
Yllä olevien hakkeroiden avulla voit yhdistää toisen tietokannan ja saada siitä tietueita WordPress-verkkosivustollesi. Mutta suosittelen, ettet käytä useita tietokantoja WordPress-verkkosivustollesi. Yritä saavuttaa tavoitteesi vain yhdestä tietokannasta.