Úvodní stránka › Fórum podpory WordPressu › Pluginy (funkčnost webu) › Propojení webu s dvoumi databázemi
Štítky: Databáze, Multisite, RSS, Sdílení článků, Syndicate Out, ThreeWP Broadcast, xml
Zvolené téma obsahuje celkem 6 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel Agent1 a poslední změna je stará 9 let, 9 měsíců.
-
AutorPříspěvky
-
1. července 2014 (15:28) #19434
Mám dva weby,dvě databáze,prakticky duplicitní pokud se jedná o strukturu,ale jiný vzhled,obrázky atd..Chtěl bych abych na webu A mohl vypisovat např.články z databáze webu B. Snažil jsem se to napsat v php,ale zkušenosti mám velice malé,tak přes všechny snahy se mi vypisovali data jen toho daného webu.přikládám i kód-vytvořil jsem soubor
wp-config1.php
, kde jsem nastavil připojení na druhou databázi.díky za rady<?php include 'wp-config1.php'; //načteme soubor s údaji pro připojení k db if(isset($_GET['jmeno'])) { require_once(ABSPATH . 'modeling-agency.cz/wp-content/plugins/contact-form-7-to-database-extension/CFDBFormIterator.php'); $jmeno = ($_GET['jmeno']); $exp = new CFDBFormIterator(); $exp->export('modelky', array("$jmeno")); while ($row = $exp->nextRow()) { echo "<h2>","<center>".$row["jmeno"]."</center>","</h2>\n"; //zobrazíme nadpis echo "<p>".$row["prijmeni"]."</p>\n"; // zobrazíme text echo "<hr>"; } } else { $formName = 'modelky'; $fieldNameWithFile = 'fotka-obliceje'; require_once(ABSPATH . 'modeling-agency.cz/wp-content/plugins/contact-form-7-to-database-extension/CF7DBPlugin.php'); $plugin = new CF7DBPlugin(); require_once(ABSPATH . 'modeling-agency.cz/wp-content/plugins/contact-form-7-to-database-extension/CFDBFormIterator.php'); $exp = new CFDBFormIterator(); $exp->export($formName, array()); echo "<table id='tabulka_vypis'>"; while ($row = $exp->nextRow()) { $fileUrl = $plugin->getFileUrl($row['submit_time'], $formName, $fieldNameWithFile); $odkaz = "". $row['jmeno'] ; echo "<td><a><img src='$fileUrl' width='150' height='155' /><br></a><a>". $row['jmeno'] ."</a></td>"; if (++$mod % 4 === 0) echo "</tr><tr>"; } echo "</table>"; } ?>
1. července 2014 (20:41) #19445Nejsem si jist, že to v PHP půjde, obzvláště se obávám, že require neumožní provést kód z jiné domény (pokud není na stejném hostingu, a neznáte PATH), a myslím, že by bylo lepší vytvořit plugin, a do něj napsat klasický přístup do jiné DB přes connect, a potom si to dát třeba do widgetu, nebo filtrovat obsah, a ládovat to tam tímto způsobem. Další cestou je vložit na jednu stránku vždy RSS Feed (z něj vytáhnout nějaká data), a zobrazovat odkaz na celou stránku.
Wordpress toto sám o sobě dvě DB neumožní, a nevím, jestli je to zcela správné
Snad nejsem mimo
2. července 2014 (8:30) #19451No v php mi to moc zatím nejde,jelikož wordpress mi vždy načítá vlastní databázi i přes příkazy k propojení k databázi b,načítá data s databáze a.jinak domény mám na jednom hostingu.vytvořit plugin?to by si mě musel navést jakým směrem mám jít,protože návod jak vytvořit plugin najde google,ale co tam dát?zeptám se ještě takhle.dvě domény,jedna databáze,duplicitní obsah,až na slider a propojení s facebookem,zní mi to jako blbost.ale co když?díky za odpově´d
2. července 2014 (11:01) #19456Mám pocit, že pokud použijete mysql_connect, a uložíte si připojení do proměnné, neměl by být problém. Pokud očekáváte, že budou fungovat klasické funkce pro zobrazení obsahu WP pro tuto DB, tak to ne, musíte každou informaci vytáhnout z tabulky wp_posts, bohužel, wordpress je stavěn na jednu DB…
2. července 2014 (15:49) #19459Co je tedy stejné a co se liší? Pokud budete chtít na webu jinou šablonu a jiné obrázky (jiné velikosti), tak nebudou databáze vlastně nikdy stejné.
Zvážil bych ale následující možnosti:
– Nemůžete ty weby zcela sloučit a z jednoho udělat alias? Pokud jsou téměř stejné, tak by to nemusel být takový problém?
– Načítat obsah můžete pomocí RSS nebo protokolu XML-RPC (např. plugin Syndicate Out umožňuje synchronizaci příspěvků mezi různými weby).
3. července 2014 (22:33) #19494Velmi dobrý plugin je zejména ThreeWP Broadcast, nedávno vyšel přehledný návod (anglicky).
8. července 2014 (16:16) #19547 -
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.