{"id":28847,"date":"2021-06-01T19:07:00","date_gmt":"2021-06-01T16:07:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28847"},"modified":"2021-10-18T03:38:10","modified_gmt":"2021-10-18T00:38:10","slug":"jak-podlaczyc-inna-baze-danych-w-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-podlaczyc-inna-baze-danych-w-wordpress\/","title":{"rendered":"Jak pod\u0142\u0105czy\u0107 inn\u0105 baz\u0119 danych w WordPress"},"content":{"rendered":"<p>Ostatnio otrzyma\u0142em pytanie jak pod\u0142\u0105czy\u0107 jeszcze jedn\u0105 baz\u0119 danych do serwisu WordPress. Po pierwsze, chc\u0119 wyja\u015bni\u0107, \u017ce WordPress jest zbudowany w taki spos\u00f3b, \u017ce mo\u017cesz uruchamia\u0107 dowoln\u0105 liczb\u0119 witryn lub zarz\u0105dza\u0107 dowoln\u0105 funkcjonalno\u015bci\u0105 z jednej bazy danych. Uwa\u017cam, \u017ce nigdy nie musimy \u0142\u0105czy\u0107 wi\u0119cej ni\u017c jednej bazy danych z witryn\u0105 WordPress.<\/p>\n<p>Ale nadal, je\u015bli kto\u015b szuka rozwi\u0105zania na \u0142\u0105czenie wielu baz danych, jest na to jeden hack. Korzystaj\u0105c z tego hacka, mo\u017cesz u\u017cy\u0107 metod klasy <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wpdb\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wpdb<\/a> do pobrania rekord\u00f3w z innej bazy danych. Ten hack nie pozwoli ci na u\u017cycie podstawowych metod dostarczanych przez WordPress w twojej drugiej bazie danych. Funkcje takie jak get_option(), update_option(), wp_insert_post(), get_post_meta() nie b\u0119d\u0105 dost\u0119pne dla innej bazy danych.<\/p>\n<p>W takim przypadku u\u017cytkownik mo\u017ce pobiera\u0107 dane z opcji, publikowa\u0107 tabele za pomoc\u0105 zapyta\u0144 SQL z metodami klasy wpdb. Te metody to get_var(), get_row(), get_col(), get_results() itd.<\/p>\n<h3>Po\u0142\u0105cz inn\u0105 baz\u0119 danych w WordPress<\/h3>\n<p>Gdy musisz pod\u0142\u0105czy\u0107 inn\u0105 baz\u0119 danych, utw\u00f3rz instancj\u0119 klasy wpdb. W ten spos\u00f3b uzyskujesz dost\u0119p do wszystkich dost\u0119pnych metod klasy wpdb. U\u017cytkownik mo\u017ce u\u017cywa\u0107 tych metod klas bezpo\u015brednio do interakcji z zewn\u0119trzn\u0105 baz\u0105 danych.<\/p>\n<p>Na pocz\u0105tek powiniene\u015b mie\u0107 po\u015bwiadczenia zewn\u0119trznej bazy danych.<\/p>\n<p>Jak wspomniano, musi utworzy\u0107 instancj\u0119 klasy wpdb. Ta instancja powinna by\u0107 dost\u0119pna w ca\u0142ej aplikacji WordPress. W tym celu dodaj poni\u017cszy kod w <code>functions.php<\/code>pliku.<\/p>\n<pre><code>function connect_another_db() {\n\u00a0\u00a0\u00a0\u00a0global $seconddb;\n\u00a0\u00a0\u00a0\u00a0$seconddb = new wpdb(USERNAME, PASSWORD, DATABASE_NAME, HOSTNAME);\n}\nadd_action('init', 'connect_another_db');<\/code><\/pre>\n<p>Pami\u0119taj, aby zast\u0105pi\u0107 wszystkie symbole zast\u0119pcze rzeczywistymi warto\u015bciami. Po dodaniu powy\u017cszego kodu zostaniesz po\u0142\u0105czony z inn\u0105 baz\u0105 danych. Mo\u017cesz u\u017cy\u0107 tego drugiego wyst\u0105pienia, jak poni\u017cej:<\/p>\n<pre><code>global $seconddb;\n$user_count = $seconddb-&gt;get_var( \"SELECT COUNT(*) FROM $wpdb-&gt;users\" );\necho \"&lt;p&gt;User count is {$user_count}&lt;\/p&gt;\";<\/code><\/pre>\n<p>Pami\u0119taj, \u017ce prefiks tabeli innej bazy danych musi by\u0107 taki sam, jak oryginalna baza danych. Je\u015bli Tw\u00f3j prefiks tabeli jest inny, musisz wyra\u017anie wspomnie\u0107 o prefiksie, jak pokazano poni\u017cej:<\/p>\n<pre><code>global $seconddb;\n$prefix = 'wp2_'; \/\/ here 'wp2' is the table prefix of second database\n$user_count = $seconddb-&gt;get_var( \"SELECT COUNT(*) FROM $prefix\".\"users\" );\necho \"&lt;p&gt;User count is {$user_count}&lt;\/p&gt;\";<\/code><\/pre>\n<p>Korzystaj\u0105c z powy\u017cszych hack\u00f3w, mo\u017cesz pod\u0142\u0105czy\u0107 inn\u0105 baz\u0119 danych i uzyska\u0107 z niej rekordy na swojej stronie WordPress. Ale radz\u0119 nie u\u017cywa\u0107 wielu baz danych dla swojej witryny WordPress. Staraj si\u0119 osi\u0105gn\u0105\u0107 sw\u00f3j cel tylko z jednej bazy danych.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-zbudowac-niestandardowy-widzet-elementor\/\" title=\"Jak zbudowa\u0107 niestandardowy wid\u017cet Elementora\">Jak zbudowa\u0107 niestandardowy wid\u017cet Elementora<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-dodac-kod-po-tagu-body-w-wordpressie\/\" title=\"Jak doda\u0107 kod po tagu Body w WordPressie\">Jak doda\u0107 kod po tagu Body w WordPressie<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-dodac-niestandardowe-punkty-koncowe-do-api-wordpress\/\" title=\"Jak doda\u0107 niestandardowe punkty ko\u0144cowe do API WordPress?\">Jak doda\u0107 niestandardowe punkty ko\u0144cowe do API WordPress?<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chcesz pod\u0142\u0105czy\u0107 inn\u0105 baz\u0119 danych w WordPressie? Chocia\u017c nie jest konieczne \u0142\u0105czenie wielu baz danych w WordPressie, mo\u017cesz chcie\u0107<\/p>\n","protected":false},"author":1,"featured_media":21644,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[612],"tags":[847],"class_list":["post-28847","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=28847"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28847\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/21644"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=28847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=28847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=28847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}