it-swarm.com.de

Wie kann ich ein empfohlenes Beitragsbild von einem externen Server abrufen? WP Seite und zeige es als Link zurück?

Ich habe zwei WP Sites. Ich möchte von einem in den anderen greifen, bestimmte Bilder für Beiträge abrufen und sie mit einem Link zu diesem Beitrag anzeigen.

Ich benutze diese Zeile (mit den richtigen Informationen für meine Zieldatenbank):

$mydb = new wpdb('username','password','database','localhost');

Was würde ich tun, um ein Post-Thumbnail abzurufen und anzuzeigen?

Ich bastele an einer Codezeile, die ich an anderer Stelle gefunden habe und die so aussieht:

$result = $mydb->get_results("select * from wp_posts where ID='1885'");

dabei ist '1885' eine Beispielpost-ID-Nummer.

In einer idealen Welt würde ich dies so weit entwickeln, dass es als Widget fungiert. Der Client kann einfach eine Beitrags-ID-Nummer von der externen Website WP eingeben, und das Widget ruft das entsprechende Miniaturbild ab und zeigt es als Link zurück zum entsprechenden Beitrag auf der anderen Website an.

Ich kann überhaupt nicht mit PHP umgehen. Bisher bearbeite ich Snippets nach besten Kräften und arbeite sie in meine Themenvorlagen ein.

4
Matt

Wenn ich versuche, zwei Websites zu verknüpfen, ist die Verwendung der XMLRPC-API von WordPress die effizienteste und destruktivste Methode. http://codex.wordpress.org/XML-RPC_WordPress_API/Posts

In diesem Fall können Sie diese Informationen mithilfe der integrierten IXR_Client-Bibliothek abrufen. Dies spart eine Menge Zeit beim Schreiben von Code und beim Mischen von Datenbanken. Wenn sie irgendwann auf völlig anderen Servern landen. Sie können diese Arbeit noch haben.

Es ist so ziemlich genau das ...

$client = new IXR_Client(XMLRPC_URL);
$client->timeout = 1;
$USER = XMLRPC_USER;
$PASS = XMLRPC_PASS;
$req = 'wp.getPost';
$post_id = 112;
if (!$client->query( $req, $post_id, $USER, $PASS ))
{
    die( 'Error while creating a new post' . $client->getErrorCode() ." : ". $client->getErrorMessage());
}
$postcontent =  $client->getResponse();
1
BA_Webimax

Um das empfohlene Bild eines Beitrags zu erhalten (z. B. der Beitrag 1885 in Ihrem Beispiel), müssen Sie in der Tabelle wp_postmeta den Eintrag mit den Werten 1885 als post_id und "_thumbnail_id" als meta_key überprüfen. Der Wert in meta_value ist der Beitrag vom Typ "angehängt" (beim Hochladen eines Beitrags in die Medienbibliothek wird ein Beitrag vom Typ angehängt pro Bilddatei erstellt) mit den Informationen zu der Bilddatei, die als ausgewähltes Bild verwendet wird

0
Jordi Cabot

In meiner lokalen Host-Umgebung habe ich Folgendes ausgeführt und es hat funktioniert:

$mydb = new wpdb( 'user', 'password', 'database', 'localhost' );
$query = "SELECT meta_value 
    FROM wp_postmeta 
    WHERE post_id = %d 
    AND meta_key = '_wp_attachment_metadata'
";
$p_id = 4;

$result = $mydb->get_row( 
    $mydb->prepare( $query, $p_id ), 
    ARRAY_A
) or wp_die( "Error: query failed." );

$result_array = unserialize( $result['meta_value'] );
var_dump( $result_array );
die();

Sieht aus wie es ist nicht möglich, um $mydb->prefix zu erhalten.

Beachten Sie auch die Verwendung von $wpdb->prepare , wenn Sie mit Benutzereingabewerten arbeiten.

0
brasofilo