Poste doch bitte mal den Code aus der sidebar.php, der die statischen Seiten ausgibt. Oder nutzt Du Widgets für die Sidebar?
Beiträge von Ammaletu
-
-
Nutzt Du das WP-PageNavi-Plugin überhaupt noch? Oder ist das vielleicht noch alter Code von früher, und Du müsstest dort jetzt die Standard-Befehle für die Verlinkung ergänzen?!
Ansonsten könnte es auch sein, dass Du die Original-Query im Kategorie-Template veränderst und deshalb PageNavi an der Stelle dort nichts von mehreren Seiten mehr weiß. Müsstest Du mal schauen, ob Du da irgendwo eine neue Query baust in der category.php oder archive.php.
-
Ich denke, am ehesten wird sich eine Lösung für Dein Problem finden, wenn Du mal die genauen Fehlermeldungen postest, die Du beim Installieren bekommt. Dann fällt hier sicher dazu auch jemandem was ein.

-
Freut mich, dass Du das hingekriegt hast. Nicht so ideal ist die Lösung natürlich, da die Query jetzt doppelt ausgeführt wird, aber ich nehme mal an, das ist nichts was bei jedem Seitenaufruf aufgerufen wird, oder?!
Ansonsten dazu noch:
ZitatIch sehe da das Problem, dass block_ip() entweder ein Object oder FALSE zurückgeben soll... geht das denn, sprich, wenn $blocked nicht FALSE ist, gibt es dann TRUE zurück und ist gleichzeitig ein Object, auf das ich zugreifen könnte?
Wenn Du ein Objekt zurückgibst, ist dieses nicht TRUE, aber eben auch nicht FALSE. Das hast Du ja auch schon alles richtig zusammengebastelt.

-
Sorry, hatte das Fenster mal wieder ein paar Minuten länger offen und Deine Antwort erst später gesehen.

-
Was Du zitierst gilt für die Funktion query(), welche Du aber ja gar nicht aufrufst. get_results() liefert dagegen einfach die Ergebnisse zurück und weiß von MySQL-Fehlern nichts. Du solltest Dir das auf jeden Fall mal anschauen, der Code findet sich in wp-includes/wp-db.php.
Was Du machen könntest, denke ich, wäre folgendes:
PHPglobal $wpdb; $blocked = block_ip('123.456.789.012'); if (mysql_error($wpdb->dbh)) { echo "An error has occured!"; } else { echo "Everything went fine."; }So in etwa macht WordPress in der query-Funktion selber seine Fehlerbehandlung (WP 2.3.3 im übrigen, weiß nicht, wie es in in 2.5 aussieht). Das ist jetzt aber von mir nur geraten. Du müsstest ausprobieren, ob der DB-Handler an der Stelle noch zur Verfügung steht.
-
Es gibt in den Permalink-Optionen ein Feld für die Kategorie-Basis. Hier musst Du meiner Erinnerung nach einfach "/" eintragen (ohne die Anführungszeichen).
-
Also das ist auf jeden Fall auch nicht das normale Verhalten von WordPress. Kann es sein, dass der Text am (bzw. vor dem) ersten Umlaut/Sonderzeichen abgebrochen wird? Wird immer an der gleichen Stelle unterbrochen?
-
the_content zeigt den Inhalt eines speziellen Beitrags an, da kannst Du nichts auf Kategoriebasis ausschließen. Aber falls Du meinst, alle Beiträge dieser Kategorie von der Anzeige auf dieser Seite auszuschließen, kannst Du einfach die Query modifizieren. Das hier oben über den Beginn des Loops (über if have_posts):
X dabei durch die ID der Kategorie ersetzen. Damit werden Beiträge nicht angezeigt, die *ausschließlich* dieser Kategorie zugeordnet sind. Beiträge, die X und Y zugeordnet sind, werden trotzdem angezeigt!
Ach ja, hab ich jetzt aus dem Gedächtnis aufgeschrieben. Falls es nicht geht bitte mal die genaue Syntax im Codex nachschlagen.

-
Die aktuellsten Beiträge kann man sich ganz bequem über eine WP-Funktion ausgeben lassen. Eigene Queries oder Methoden braucht man da höchstens, wenn man mit der Ausgabe noch spezielle Dinge anstellen möchte. Ansonsten einfach so hier:
Das wären jetzt die zehn aktuellsten Beiträge, HTML-Code müsste natürlich an Dein Theme angepasst werden. Falls Du die Links nicht als Liste willst, müsstest Du im Codex mal die Argumente nachschlagen, man kann die sicher auch als div oder irgendwas ausgeben.
-
Wenn es um die letzten Kommentare geht, nimmst Du halt die CSS-Klasse der letzten Kommentare. Du hattest oben die Zeilen für die statischen Seiten gepostet, deshalb hatte ich irgendwie gedacht, das wäre es, was Du kleiner haben wolltest. Sorry, ich lese nicht immer den ganzen Thread noch mal.

Ansonsten einfach mal zu Schriftangaben per CSS belesen: SELFHTML: Stylesheets / CSS-Eigenschaften / Schriftformatierung
Wenn Du es ohne Nachdenken zum nur noch Kopieren haben willst, müsstest Du schon mal einen Link zur Seite rausrücken.
Ich schlage die Widget-Klassennamen jetzt nicht erst im WP-Quelltext nach... -
Ich verstehe Dein Problem nicht ganz. Die verlinkte Anleitung behandelt doch gerade den Fall, dass man WP in ein Unterverzeichnis installiert, welches man nicht in den URLs haben möchte (und deshalb auch nicht in den WP-Einstellungen angibt). Wenn Du es in ein Unterverzeichnis installierst und das Verzeichnis auch in der URL stehen soll, brauchst Du diesen Umweg doch nicht zu gehen, das ist ja der Normalfall. Also erkläre doch vielleicht noch mal, worum genau es Dir geht.

-
Zitat
Nun frag ich mich wie bzw. ob man die dem Design der Theme anpassen kann?
Wenn ich zB ein Archiv hinzufüge, sollte die Überschrift wenn möglich schon so aussehen wie die restlichen Überschriften.Da bin ich mir nicht ganz sicher, was Du meinst. Geht es darum, dass die Standard-Widgets keine Bilder als Überschriften erzeugen? Oder sieht die Überschrift des Archiv-Widgets anders aus als die von anderen Widgets. Hast Du ggf. einen Link zur Seite, damit man sich das mal anschauen kann?
ZitatAnsonsten: wie realisiert man die Suche ohne widgetfähiger Sidebar?
Im Default-Theme sieht es z.B. so aus:
-
Du musst den Code in der functions.php natürlich in die PHP-"Klammern" einschließen, also so hier:
Bitte unbedingt darauf achten, dass davor und danach keine Leerzeichen oder Zeilenumbrüche stehen. Der ganze Inhalt der Datei muss als PHP gekennzeichnet sein, sonst gibt WordPress das einfach aus, auch auf Deiner Seite.
-
Zitat
aber im stylesheet kann ich nur die formatierungsoption "sidebar" finden. aber nichts von "widget_pages"
Das war auch nicht zu erwarten, hindert Dich aber nicht daran, einen entsprechenden Eintrag hinzuzufügen.

Also, einfach mal das hier in die style.css eintragen, auf jeden Fall unter der Schriftgrößen-Angabe für ".sidebar". Ganz am Ende ist auf jeden Fall nicht falsch, oder direkt hinter die .sidebar-Anweisung:
Für die font-size kannst Du natürlich auch einen anderen Wert eingeben. Der hier würde die Schriftgröße auf 80% der Größe der Sidebar setzen.
-
Du musst Dein Theme nicht widgetfähig machen, aber es geht schnell und schadet auch nicht. Dann kannst Du ja erstmal schauen, ob Du mit Widgets klarkommst. Zurück zur sidebar.php kannst Du immer noch wechseln.
Ok, machen wir es also mal widgetfähig. Das hier kommt in Deine functions.php:
PHP// add a sidebar for the widgets functionality (won't be displayed unless configured) if (function_exists('register_sidebar')) { // register the left sidebar register_sidebar(array('name' => 'sidebar', 'before_widget' => '', 'after_widget' => '', 'before_title' => '<div class="nav_title">', 'after_title' => '</div>')); }Ich sehe gerade, dass die Blöcke in Deiner Sidebar als Überschrift ein Bild haben. Das zeigen die Widgets natürlich nicht an. Musst Du mal probieren, ob es mit einer Textausgabe auch gut aussieht.
Und dann müsste die sidebar.php modifiziert werden:
PHP
Alles anzeigen<div id="navigation"> <!-- Start of Navigation --> <?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar')) { /* Display the normal sidebar. */ ?> <div class="nav_title"><img src="<?php bloginfo('url'); ?>/wp-content/themes/drunkloser/images/last-posts.jpg" alt="Last Posts" /></div> <ul> <?php $posts = get_posts('numberposts=5'); foreach($posts as $post) : ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endforeach; ?> </ul> <div class="nav_title"><img src="<?php bloginfo('url'); ?>/wp-content/themes/drunkloser/images/archives.jpg" alt="Archive" /></div> <ul> <?php wp_get_archives('type=monthly&show_post_count=0'); ?> </ul> <div class="nav_title"><img src="<?php bloginfo('url'); ?>/wp-content/themes/drunkloser/images/links.jpg" alt="Links" /></div> <ul> <?php wp_get_links(1); ?> </ul> <?php } /* end if widgetized sidebar */ ?> <!-- End of Navigation --> </div>Damit müsstest Du dann im Backend eigentlich Widgets zuweisen können. Solange Du dort nichts gespeichert hast, siehst Du übrigens nach wie vor die alte Sidebar. Wenn Dir die Widgets nicht gefallen, lass die Dateien ruhig trotzdem so und nimm die Widgets einfach im Backend wieder raus. Wie gesagt, solange die Widget-Sidebar leer ist, zeigt WordPress weiter die normale Sidebar an.
Ok, probier das erstmal aus. Details wie die Suche können wir klären, wenn Du weißt, ob Du bei den Widgets bleiben möchtest oder lieber die normale Sidebar verwendest.
-
Hallo!
Also ich habe für meine Linkseite einfach die internen WP-Funktionen (Stand Wp 2.3.3) in meine functions.php kopiert und hier und da etwas angepasst. Ich weiß jetzt gerade gar nicht, was ich an der get_links-Funktion verändert hatte. Anyway, schau Dir den Code mal an, vielleicht kannst Du ihn ja brauchen. Dass statt der notes die description ausgegeben wird, wenn keine notes da sind, kann man mit einer Zeile noch ergänzen.
Noch mal für alle: Das folgende ist Stand WP 2.3.3. Kann sein, dass man es für WP 2.5 anpassen müsste bzw. dass die Methoden intern in 2.5 verändert wurden (Fehler behoben, besser gemacht etc.).
PHP
Alles anzeigen/** * Outputs a list of all links, listed by category, using the settings in * $wpdb->linkcategories and output it as a nested HTML unordered list. * Differences to the WP function: Outputs h3 instead of h2, outputs the count * of links behind the category name. * * @param order Defines how to sort the link categories. Possible values are * 'name' and 'id'. Optional, defaults to 'name'. Use '_name' or '_id' to * reverse the sort direction. * @param cats A list of categories. If not provided, all link categories will * be retrieved from the database, omitting empty categories. * @return The overall count of displayed links. */ function dor_get_links_list($order = 'name', $cats) { /* String */ $links = null; /* String */ $baseIndentation = ' '; /* int */ $linkCount = 0; /* int */ $countAll = 0; // handle the order by and the sort direction parameters $order = strtolower($order); $direction = 'ASC'; if (substr($order, 0, 1) === '_') { $direction = 'DESC'; $order = substr($order, 1); } if (!isset($direction)) { $direction = ''; } // get the link categories (omitting empty categories) if ($cats == null) { $cats = get_categories("type=link&orderby=$order&order=$direction"); } // display the categories if ($cats) { foreach ((array) $cats as $category) { // get the links for the category and count them $links = dor_get_links($category->cat_ID, "\n" . $baseIndentation . ' ', true, 'name', true, -1, false); $linkCount = substr_count($links, '<a href'); $countAll += $linkCount; if ($linkCount < 1) { continue; } // display the category name echo '<li id="linkcat-' . $category->cat_ID . '" class="linkcat"><h3>' . $category->cat_name . ' <span class="count">(' . $linkCount . ")</span></h3>\n$baseIndentation <ul>\n"; // display the links echo $links; // close the category echo "\n$baseIndentation </ul>\n$baseIndentation </li>\n"; } /* end foreach category */ } /* end if categories */ // return the overall link count return $countAll; } /** * Gets the links associated with the given category. * * @param category The category to use. If no category is supplied, the * function gets links for all categories. * @param between String to output between elements within the list element * (between link and notes, notes and update time). * @param show_images True to show link images (if defined), false to not show * images. * @param orderby The order to output the links, e.g. 'id', 'name', 'url', * 'description', or 'rating'. Or maybe owner. If you start the name with an * underscore, the order will be reversed. You can also specify 'rand' as the * order which will return links in a random order. * @param show_notes Whether to show the notes. * @param limit Limit to X links. If not specified, all links are shown. * @param echo Whether to echo the results, or return them instead. * @return The html to output if echo is true. */ function dor_get_links($category = -1, $between = ' ', $show_images = true, $orderby = 'name', $show_notes = true, $limit = -1, $echo = true) { global $wpdb; // initialize parameters $order = 'ASC'; if (substr($orderby, 0, 1) == '_') { $order = 'DESC'; $orderby = substr($orderby, 1); } if ($category == -1) { //get_bookmarks uses '' to signify all categories $category = ''; } // get the links $results = get_bookmarks("category=$category&orderby=$orderby&order=$order&show_updated=0&limit=$limit"); if (!$results) { return; } // build the output $output = ''; foreach ((array) $results as $row) { // get link data $the_link = '#'; if (!empty($row->link_url)) { $the_link = clean_url($row->link_url); } $rel = $row->link_rel; if ($rel != '') { $rel = ' rel="' . $rel . '"'; } $desc = attribute_escape($row->link_description); $name = attribute_escape($row->link_name); $notes = attribute_escape($row->link_notes); $title = $desc; if ($title != '') { $title = ' title="' . $title . '"'; } $alt = ' alt="' . $name . '"'; $target = $row->link_target; if ($target != '') { $target = ' target="' . $target . '"'; } // output the link itself $output .= ' <li id="link' . $row->link_id . '">' . '<a href="' . $the_link . '"' . $rel . $title . $target. '>'; if (($row->link_image != null) && $show_images) { if (strpos($row->link_image, 'http') !== false) { $output .= "<img src=\"$row->link_image\" $alt $title />"; } else { // if it's a relative path $output .= "<img src=\"" . get_option('siteurl') . "$row->link_image\" $alt $title />"; } } else { $output .= $name; } $output .= '</a>'; // output the description if ($show_notes && ($notes != '')) { $output .= $between . '<span class="linkDescription">' . $notes . '</span>'; } $output .= " </li>\n"; } /* end foreach link */ // echo or return the output if (!$echo) { return $output; } echo $output; } -
Ja, kannst Du. Das Kommentar-Widget weist dem Block garantiert eine eigene Klasse zu. Die kopierst Du und ergänzt damit im Stylesheet eine Schriftgrößen-Angabe. Mit einem Link zur Seite kann ich es Dir auch genauer sagen.

-
Also Du könntest mal folgendes probieren:
PHP<ul> <?php $author = the_author(); wp_list_bookmarks(array( 'orderby'=>'name', 'order'=>'ASC', 'limit'=>-1, 'category'=>'', 'hide_invisible'=>1, 'show_updated'=>0, 'show_description'=>0, 'category_name'=>$author, 'echo'=>1, 'categorize'=>0, 'category_orderby'=>'', 'category_order'=>'', 'title_li'=>'0', 'class'=>'', 'before'=>'<li>', 'after'=>'</li>', 'title_before'=>'', 'title_after'=>'', 'category_before'=>'', 'category_after'=>'') ); ?> </ul>Ist aber nicht getestet, musst Du ausprobieren. Ansonsten kannst Du natürlich auch über title_before eine Klasse reinreichen und diese im Stylesheet ausblenden ('title_before' => '<span class="invisible">').
-
Also es gibt schon mal diese Liste, die Dir weiterhelfen sollte:
Plugins/Plugin Compatibility/2.5 « WordPress CodexDa sind Plugins gelistet, die mit 2.5 funktionieren, sowie Plugins die mit 2.5 definitiv nicht funktionieren. Davon abgesehen solltest Du alle Plugins natürlich auf ihre jeweils aktuelle Version aktualisieren. Bei den Plugins, die auf wordpress.org gehostet werden, zeigt Dir WordPress in Zukunft ja an, wenn neue Versionen erscheinen. Bei allen anderen musst Du weiter manuell nachschauen (und diese Plugins sind leider nicht gekennzeichnet).