Von: pixelithe am:
4. März 2010
Die in Wordpress standardmässig integrierte Möglichkeit, die Links ausgeben zu lassen (wp_list_bookmarks oder wp_get_bookmarks) hat mich noch nie besonders erfreut, da die Möglichkeiten, die Ausgabe nach eigenen Wünschen anzupassen relativ gering sind. Generell wird bei wp_list_bookmarks die Chose schonmal als Liste ausgegeben, was zwar in den meisten Fällen ok ist, aber in meinem Fall etwas ungünstig.
Das Ziel war eine Ausgabe in Tabellenform, mit dem Bild zum Link in der einen Spalte und der Überschrift incl. Link-Beschreibung in der anderen Spalte. Um das zu ermöglichen musste mal wieder eine etwas spezifischere Abfrage her. Hier ist sie:
<?php
$links = $wpdb->get_results("SELECT * FROM $wpdb->links ORDER BY link_name ASC");
echo "<table border='0' class='linktable'>";
foreach ($links as $link) {
$linkurl=$link->link_url;
$linkdesc=$link->link_description;
$linkname=$link->link_name;
$linkimage=$link->link_image;
$linknotes=$link->link_notes;
echo "<tr><td><a href='$linkurl' target='_blank'><img src='$linkimage' alt='$linkurl' border='0' class='linkimg'></a></td>";
echo "<td valign='top' class='link-desc'><h5>$linkname</h5>";
echo "<div class='link-description'>$linkdesc </div></td></tr>";
}
echo "</table>";
?>
Und auch zum Download verfügbar (Code am Besten in ein neues Seiten-Template in den Loop irgendwo unter den Content einfügen)
Von: pixelithe am:
17. Februar 2010
Dieser Tage bin ich über ein Problem gestolpert, das ich schon häufiger hatte, das aber bisher nicht meine volle Aufmerksamkeit bekam.
Nehmen wir an, ich hätte gerne einen Button im Wordpress TinyMCE Editor, mit dem ich per Knopfdruck einen beliebigen Text (oder Code) einfügen kann. Nichts Aufregendes, nur ein fixer Text, der an der Stelle des Cursors eingefügt wird.
Nach ein wenig Recherche habe ich eine Codepackung (Plugin) gefunden, die schon alles hat was ich brauche und an der ich nur noch einige kleine Veränderungen vornehmen muss, damit es genau das tut, was ich möchte.
Hier ist der Artikel zu finden : Deanna Schneider – TinyMCE Custom Buttons
Das Plugin öffnet ein Dialogfenster in dem eine Usereingabe erwartet wird. Das konnte ich durch einige Änderungen an der Datei window.php ändern. Dort habe ich einfach die Variable tagtext fest mit meinem Wunschtext definiert, die Eingabefelder ausgeblendet und ein verstecktes Feld im Formular erstellt, das den Wert 1 für die Variable rsstag mitschickt. Damit es schick ist, kann man natürlich auch noch den Button nach eigenen Wünschen bearbeiten.
Voilá! Danke, Deanna Schneider! Frauen an die Tasten!
Für die, die es interessiert, ist hier auch noch meine modifizierte Version zum Download: helloworld_mod
There’s an English Version of this Post
Von: pixelithe am:
26. Juni 2009
English Version
Oft kommt es vor, daß man gerne Unterseiten der aktuellen Seite in der Sidebar angezeigt bekommen möchte. Das ginge auch theoretisch ganz einfach mit einem kleinen Befehl.
Nur leider verschwindet dann dieses Menü wieder, sobald man auf eine der ANDEREN Unterseiten klickt. Es wäre also eine feine Sache, wenn auch bei Unterseiten – Geschwistern (Siblings) das Submenü gezeigt würde. Dazu muss die ID der übergeordneten Seite ermittelt werden und dann immer die Kinder der Überseite angezeigt werden. Logisch, oder?
<?php
global $wp_query;
if( empty($wp_query->post->post_parent) )
{
$parent = $wp_query->post->ID;
}
else
{
$parent = $wp_query->post->post_parent;
} ?>
<?php if(wp_list_pages("title_li=&child_of=$parent&echo=0" )): ?>
<div id="submenu">
<ul>
<?php wp_list_pages("title_li=&child_of=$parent" ); ?>
</ul>
</div>
<?php endif; ?>
Von: pixelithe am:
25. Juni 2009
English Version
… Habe ich gefunden.
Ab und an möchte ich Beiträge aus einer Kategorie auf einer Seite anzeigen lassen. Bisher habe ich das immer mit einer Umleitung per Plugin (z.B. Page links to ) gemacht. Das zerstört allerdings total das Menü Highlighting von Wordpress (current_page_item), da man sich ja nicht mehr auf der vermeintlich gewählten Seite befindet, sondern in einer Kategorie.
Zufällig bin ich im Wordpress – Forum über folgenden Code gestolpert, der dieses Problem behebt :
<?php if (is_page('pagename')) { query_posts('cat=yx') } ?>
<!--or use query_posts like this:(full loop)-->
<?php
$displayposts = new WP_Query();
$displayposts->query('cat=5');
while ($displayposts->have_posts()) : $displayposts->the_post();
?>
<?php the_content('read more...'); ?>
<?php edit_post_link('edit', '', ''); ?>
<?php endwhile; ?>
Eine feine Sache!
Von: pixelithe am:
4. Juni 2009
ENGLISH VERSION
In einem aktuellen Projekt stellte sich mir folgende Aufgabe:
Von den (mehreren) einem Post angehängten Bildern sollte das ERSTE Bild in Medium-Größe im Beitrag angezeigt werden.
Dabei sollte die Galerie-Sortierung des Posts für die Bildreihenfolge zu Grunde gelegt werden. Der Kunde soll also durch sortieren auch entscheiden können, welches Bild auf der Post-Seite angezeigt wird.
Bei Klick auf das Bild sollte eine Greybox (Plugin Greybox-Integrator) geöffnet werden, in der dann alle restlichen Bilder, die am Beitrag hä¤ngen angezeigt werden (durch Pfeile navigierbar). Dieser Teil kann durch kleinste Code-Änderungen natürlich so angepasst werden, dass sich eine andere Viewer-Box öffnet.
Weil es gerne Probleme gibt, wenn man den Code aus dem Fenster unten kopiert, hier der Download als Textdatei.
Hier ist der Code (muss in den Loop auf index.php oder category.php oder auch single.php)
Wenn Dich das froh gemacht hat, kommentiere doch einfach
<!--Automatic Greybox-->
<?php
//Die zum Post gehoerenden Bilder ins Array $images schreiben
//Put images from post in to array $images. Order by menu order defined in post gallery
$images = get_children( array('post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID') );
//Pruefen, ob dem Beitrag Bilder angehaengt wurden.
//check if there are any images attached to the post
if (isset($images))
{
//Den Zaehler auf 0 setzen
//set counter to 0
$count=0;
//Alle Bilder im Array $images nacheinander durchlaufen
//go through all images in array $images
foreach( $images as $image )
{
$imageID = $image->ID;
//fuer jedes Bild im Array die URL von sowohl der Mittleren, als auch der grossen Groesse ermitteln.
//get medium and large image url for image
$medImageSrc = wp_get_attachment_image_src($imageID, $size='medium', $icon = false);
$largeImageSrc = wp_get_attachment_image_src($imageID, $size='large', $icon = false);
//Wenn es sich um das erste Bild im Array handelt...
//If it's the first image in the array
if ($count==0)
{
//Den Greybox-Code mit einem Vorschaubild ausgeben
//output Greybox Code with medium size preview
echo"<a href='$largeImageSrc[0]' rel='shadowbox[Bilder]'><img src='$medImageSrc[0]' border='0'></a>";
}
//alle Bilder ,die nach dem erstern Bild kommen
//this is for all the images that come after the first one
else
{
//unsichtbare Greybox-Verknuepfung darstellen.
//create invisible Greybox-Links without preview image
echo"<a href='$largeImageSrc[0]' rel='shadowbox[Bilder]'></a>";
}
//Zaehler erhoehen.
//increase counter
$count++;
} //foreach
}
?>
<!--ENDE Automatic Greybox -->
Von: zartgesotten am:
8. Mai 2009
Mal wieder vom Smashing Magazine gibt es eine Sammlung von interessanten Wordpress-Hacks. Zwei davon habe ich gleich mal hier eingebaut. Ich sage aber nicht, welche
wordpress-hacks/” target=”_blank”>
Von: zartgesotten am:
2. April 2009
Etwas ganz Feines z.B. für eine Portfolio-Seite oder ein Magazin ist der Easyslider von cssglobe.
Natürlich habe ich gleich versucht, ihn in Wordpress einzubinden. Anfangs hatte ich massive Probleme. Das Teil wollte einfach nicht funktionieren. Die Pfade zu den JS- und Bilddateien habe ich doppelt und dreifach gecheckt, alles ok. Die Namen der verwendeten DIV-Container mehrfach überprüft. Trotzdem erschien im Firebug immer ein Fehler.

Entweder der hier gezeigte “easySlider is not a function” – Fehler oder “$(”#slider”) is null”. Es hat einige Stunden des Bastelns gebraucht, bis ich den Schlingel gefunden hatte. Der Fehler wird verursacht, wenn der im Theme enthaltene <?php wp_head(); ?> – Aufruf HINTER dem Aufruf der easy Slider Javascripts im Head steht.

Sobald ich den wp_head nach oben an den Anfang des Head-Bereichs verschoben hatte war alles erste Sahne. Jetzt müsste ich nur noch jemanden finden, der ein Wordpress Plugin daraus macht… ich hab da auch schon eine Idee. ..
Von: zartgesotten am:
15. März 2009
Heute habe ich mich mit folgendem Problem beschäftigt (und natürlich bin ich zu einer Lösung gekommen, sonst würde ich das hier nicht verraten
)
Ich wollte eine Funktion schreiben, die automatisch ein Greybox-Imageset aus den dem Post zugeordneten Bildern erzeugt, dabei aber nur das erste Bild als klickbares Vorschaubild ausgibt. Es soll also mein erstes Bild (in mittlerer Größe) sichtbar sein. Wenn ich darauf klicke, soll ein Greybox-Fenster aufgehen, in dem alle anderen Bilder des Beitrages auch noch navigierbar sind.
Wie auch immer… hier ist der Code (muss in den Loop)
code_automatic_greybox (Textdatei zum Download)