1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

post_content per ph ersetzen

Dieses Thema im Forum "Konfiguration" wurde erstellt von andi_t, 12. Juli 2018.

  1. andi_t

    andi_t Well-Known Member

    Registriert seit:
    4. November 2008
    Beiträge:
    156
    Zustimmungen:
    0
    Hi Ihr,
    ich bin gerade am verzweifeln und habe noch keinen Ansatz gefunden.
    Ich möchte bei meinen Posts das Feld "post_content" per php mit einem bestimmten Inhalt befüllen (der natürlich noch per php verändert wurde).
    Gibt es dabei irgendwelche Rahmenbedingungen was erlaubt ist?
    Wenn ich nur kleine Werte eintrage ist es kein Problem und alles funktioniert. Ich möchte aber die veränderten Werte einer Diviseite einfügen.
    Ich habe es mit $wpdb->update, wp_update_post, $wpdb->query("UPDATE, $wpdb->query($wpdb->prepare("UPDATE, probiert.
    Ich versucht die Werte mit esc_textarea, esc_sql, esc_html, sanitize_textarea_field, ... zu escapen, aber alles klappte nicht. Ich bekomme leider auch keine Fehlermeldungen, sondern sehe nur, dass ncihts eingetragen wurde. Liegt es nun ander Datenmenge, an den Sonderzeichen oder woran sonst?

    Selbst wenn ich einen bestehenden per Adminer aus einem anderen "post_content" herauskopiere und dann versuche es per php in andere Datensätz zu kopieren klappt es nicht.
    Hat jemand von Euch da nen Tip?

    LG Andi
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.678
    Zustimmungen:
    1.786
    Probiere es mal mit wp_update_post(), oops, sorry, das stand schon dabei... welcher WP_Error wurde denn damit zurückgegeben?

    Kannst Du mal einen Beispiel SQL-Export eines solchen Beitrags den Du duplizieren und anpassen würdest anhängen?
     
  3. andi_t

    andi_t Well-Known Member

    Registriert seit:
    4. November 2008
    Beiträge:
    156
    Zustimmungen:
    0
    Moin,
    leider gab es keinerlei Fehlermeldungen. Das war ja das fatale. Ich habe keine Ahnung was da nicht funktioniert, da ich keinerlei Feedback habe :(


    ich habe folgendes probiert:


    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und das ganze sowohl escaped als auch ohne...
     
  4. andi_t

    andi_t Well-Known Member

    Registriert seit:
    4. November 2008
    Beiträge:
    156
    Zustimmungen:
    0
    die 1. Hälfte des post_content Codes
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  5. andi_t

    andi_t Well-Known Member

    Registriert seit:
    4. November 2008
    Beiträge:
    156
    Zustimmungen:
    0
    ... und hier die 2. Hälfte:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  6. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.678
    Zustimmungen:
    1.786
    Gehe mal so vor wie auf der wp_update_post() Seite unter Examples unter "If your updates are not working, there could be an error. It is a good idea to set $wp_error to true and display the error immediately after." beschrieben.

    $post_id = wp_update_post( $my_post, true );
    if (is_wp_error($post_id)) {
    ...
     
    andi_t gefällt das.
  7. andi_t

    andi_t Well-Known Member

    Registriert seit:
    4. November 2008
    Beiträge:
    156
    Zustimmungen:
    0
    Danke, das hat mich wirklich weitergebracht. Manchmal ist man so lange am basteln, dass man vor lauter Frust nicht mehr die einfachsten Sachen sieht.

    Ich erhielt nun die Fehlermeldung "Der Beitrag konnte nicht in der Datenbank aktualisiert werden". Leider ergab die Suche nichts sinnvolles. Aber als ich es dann auf englisch mit “Could not update post in the database” versucht hatte kam ich weiter.
    Das Problem war, dass die Daten utf-8-codiert sein müssen.
    Also flugs utf8_encode() um meine Werte gebastelt und alles funktioniert wie gewünscht.

    Danke, Du hast mir meinen Tag gerettet :)
     
  8. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.678
    Zustimmungen:
    1.786
    Sehr gut, danke für das Feedback.

    Bei der anderen Variante gäbe es als Ansatz für weitere Recherchen z.B. $wpdb->last_error
     
  9. andi_t

    andi_t Well-Known Member

    Registriert seit:
    4. November 2008
    Beiträge:
    156
    Zustimmungen:
    0
    ok, Danke, da werde ich mich dann noch mit beschäftigen müssen.
    Habe es jetzt so gelöst:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    nun klappt alles :)
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden