Query: SELECT * FROM wp_posts WHERE ID = 15 LIMIT 1
Call from: require, require_once, include, the_post_thumbnail, get_the_post_thumbnail, wp_get_attachment_image, wp_get_attachment_image_src, image_downsize, wp_attachment_is_image, get_post
Query: SELECT `post_parent` FROM wp_posts WHERE ID = 12 LIMIT 1
Call from: require, require_once, include, the_post_thumbnail, get_the_post_thumbnail, wp_get_attachment_image, wp_get_attachment_image_src, image_downsize, wp_attachment_is_image, get_post, _get_post_ancestors
Query: SELECT `post_parent` FROM wp_posts WHERE ID = 221 LIMIT 1
Call from: require, require_once, include, the_post_thumbnail, get_the_post_thumbnail, wp_get_attachment_image, wp_get_attachment_image_src, image_downsize, wp_attachment_is_image, get_post, _get_post_ancestors
Query: SELECT `post_parent` FROM wp_posts WHERE ID = 8 LIMIT 1
Call from: require, require_once, include, the_post_thumbnail, get_the_post_thumbnail, wp_get_attachment_image, wp_get_attachment_image_src, image_downsize, wp_attachment_is_image, get_post, _get_post_ancestors
Query: SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (15)
Call from: require, require_once, include, the_post_thumbnail, get_the_post_thumbnail, wp_get_attachment_image, wp_get_attachment_image_src, image_downsize, wp_attachment_is_image, get_attached_file, get_post_meta, get_metadata, update_meta_cache
@Micha
Ich nutze the_post_thumbnail nicht.
Kann man das Abschalten, damit die Zahl der Datenbankabfragen kleiner wird?
Habe ich das richtig verstanden, dass Du da eine Funktion schreiben willst, die diese Datenbankabfragen beseitigt?
Entweder du nutzt the_post_thumbnail im Template und hast die Datenbankabfragen, oder du nutzt die Funktion nicht, dann hast du keine, aber auch keine Thumbnails.
WordPress speichert in der Tabelle post_meta die Thumbnail ID. Ich werde 2 Sachen machen. Eine Funktion, die den Pfad, das Thumnail und alles was ich noch so brauch, in einem benutzerdefinierten Feld speichert. Und eine Funktion, die die Daten holt und das Bild ausgibt. Da die benutzerdefinierten Felder eh mit der Post geholt werden, benötigt es keine zusätzliche Datenbankabfrage. Die Speichern Funktion brauch ich dann bloß noch an wp_insert_post usw. hängen, dann wird das Bild auch updated, falls das einer mal macht.
Danke Micha! Super erklärt. So versteht das auch ein Nichtprogrammierer wie ich.
Machte es früher auch mit benutzerdefinierten Feldern und das mehr an DB-Abfragen hat mich auch gleich gestört. Trotzdem nutze ich es, bei mir werden die Bilder gecached und so ist pro Bild nur einmal eine Abfrage nötig, nämlich die erste solang es nicht im Cache liegt und dann nie wieder.
Den Cache hab ich nach dem Prinzip von Tanja gebastelt:
http://www.crazytoast.de/2009/04/bloggen/php-cache-script-wordpress-datenbank.html
Die einfachste Lösung heißt doch: Queries cachen, oder? Dafür gibt es schon ein hilfreiches Plugin, das ich oft und gerne benutze:
http://wordpress.org/extend/plugins/db-cache-reloaded/
Hallo, auch wenn es nur bedingt zum Thema gehört, könnt Ihr mir vielleicht helfen? Ich möchte für meinen Blog das folgende Theme verwenden
web2feel.com/eminent/
und habe
add_theme_support(‘post-thumbnails’);
auf functions.php eingebunden.
Trotzdem werden mir noch keine Thumbnails angezeigt, weder im Slider oben, noch in den Posts auf der Startseite. Die folgende Anleitung fand ich sehr gut ( http://www.kremalicious.com/2009/12/wordpress-post-thumbnails/ ), allerdings hänge ich jetzt bei Schritt 3 fest und habe keine Ahnung, wo ich ( ) einfügen muss.
Bin für jede Hilfe dankbar!!
LG
Sonja
@Thomas
Das ist die einfachste, aber nicht die beste Lösung.
Die beste Lösung heißt für mich Queries auf das erforderliche Maß beschränken und dann diese zu cachen.
PS: DB Cache Reloaded setze ich auch ein und kann ich definitiv empfehlen.
@Markus @Thomas: Ich werde mir das Cachen einmal anschauen.
Es ändert aber nichts an der Tatsache, das die Entwickler irgendwas verrissen haben.
Mit der Funktion ist noch mehr faul.
Mal angenommen, ihr habt in den Einstellungen Media die medium size auf 300×200 gestellt.
Mal weiter angenommen, ihr habt ein Bild mit 1600×1200 hochgeladen. Jetzt ratet mal, welches Bild runterskaliert wird, wenn ihr the_post_thumbnail(array(400, 250)) ausgeben wollt….