Hast du nachgeschaut ob die Dateien welchen einen 404 erzeugen auch wirklich auf dem Server sind?
Beiträge von Jogibär
-
-
Es liegt daran, dass ich den code der beiden Funktionen höchstens überflogen haben und ich dabei eine WP-Klasse durch einen Integer ersetzt habe.
Ersetze die beiden Funktionen:
PHP
Alles anzeigenfunction previous_cat_post($categoryID, $beforeGroup='<ul>', $afterGroup='</ul>', $beforeEach='<li>', $afterEach='</li>', $showtitle=true, $textForEach='Previous post in %:<br />') { global $wpdb, $post; // get home url for base of link $info = get_bloginfo('url'); $info = apply_filters('bloginfo', $info); $homeurl = convert_chars($info); // get post id of current post $currentPostId = $post->ID; // get post date of current post $currentPostDate = $post->post_date; $startGroup = true; { // HEAVY LIFTING! Getting the prevous post. Ugh. $newPostInfo = $wpdb->get_row($wpdb->prepare( "SELECT * FROM $wpdb->posts LEFT JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->term_taxonomy.taxonomy = 'category' AND $wpdb->term_taxonomy.term_id = %d AND $wpdb->posts.post_date < '$currentPostDate' ORDER BY post_date DESC LIMIT 1", $categoryID)); if ($newPostInfo) { $leaderText = str_replace('%', $currentCat->cat_name, $textForEach); if ($startGroup) { echo $beforeGroup; $startGroup = false; } if ($showtitle) { echo $beforeEach.$leaderText."<a href=\"".get_permalink($newPostInfo->ID)."\">".stripslashes($newPostInfo->post_title)."</a>".$afterEach; } else { echo $beforeEach."<a href=\"".get_permalink($newPostInfo->ID)."\">".$leaderText."</a>".$afterEach; } } } if (!$startGroup) { echo $afterGroup; } else { // RAM: echo None if there is nothing there. echo $beforeGroup.$beforeEach."None".$afterEach.$afterGroup; } } function next_cat_post($categoryID, $beforeGroup='<ul>', $afterGroup='</ul>', $beforeEach='<li>', $afterEach='</li>', $showtitle=true, $textForEach='Next post in %:<br />') { global $wpdb, $post; // get home url for base of link $info = get_bloginfo('url'); $info = apply_filters('bloginfo', $info); $homeurl = convert_chars($info); // get post id of current post $currentPostId = $post->ID; // get post date of current post $currentPostDate = $post->post_date; // get the catagorys this post uses. $catagoryIds = get_the_category(); $startGroup = true; { // HEAVY LIFTING! Getting the next post. Copy and paste of the // prvious code, but with the sort order and date comparison reversed. $newPostInfo = $wpdb->get_row($wpdb->prepare( "SELECT * FROM $wpdb->posts LEFT JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->term_taxonomy.taxonomy = 'category' AND $wpdb->term_taxonomy.term_id = %d AND $wpdb->posts.post_date > '$currentPostDate' ORDER BY post_date ASC LIMIT 1", $categoryID)); if ($newPostInfo) { $leaderText = str_replace('%', $currentCat->cat_name, $textForEach); if ($startGroup) { echo $beforeGroup; $startGroup = false; } if ($showtitle) { echo $beforeEach.$leaderText."<a href=\"".get_permalink($newPostInfo->ID)."\">".stripslashes($newPostInfo->post_title)."</a>".$afterEach; } else { echo $beforeEach."<a href=\"".get_permalink($newPostInfo->ID)."\">".$leaderText."</a>".$afterEach; } } } if (!$startGroup) { echo $afterGroup; } else { // RAM: echo None if there is nothing there. echo $beforeGroup.$beforeEach."None".$afterEach.$afterGroup; } } ?> -
-
Das Grundproblem ist, dass es Artikel gibt, die in mehreren Kategorien sind. Sonst könntest du einfach true angeben im dritten Argument. Mein Versuch in meinem letzten Post kann nicht funktionieren, ich hatte vergessen, dass das vierte Argument Kategorien ausschliesst, ich dachte es schliesst sie ein (war nur im letzten post so).
Ich haben folgendes plugin leicht abgeändert, dann sollte es klappen: http://geriandricky.maxwells.net.nz/wp-content/upl…previouscat.txt
Füge folgendes in die functions.php des themes:
PHP
Alles anzeigenfunction previous_cat_post($categoryID, $beforeGroup='<ul>', $afterGroup='</ul>', $beforeEach='<li>', $afterEach='</li>', $showtitle=true, $textForEach='Previous post in %:<br />') { global $wpdb, $post; // get home url for base of link $info = get_bloginfo('url'); $info = apply_filters('bloginfo', $info); $homeurl = convert_chars($info); // get post id of current post $currentPostId = $post->ID; // get post date of current post $currentPostDate = $post->post_date; $startGroup = true; $currentCat = $categoryID; { // HEAVY LIFTING! Getting the prevous post. Ugh. $newPostInfo = $wpdb->get_row( "SELECT * FROM $wpdb->posts LEFT JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->term_taxonomy.taxonomy = 'category' AND $wpdb->term_taxonomy.term_id = $currentCat->cat_ID AND $wpdb->posts.post_date < '$currentPostDate' ORDER BY post_date DESC LIMIT 1"); if ($newPostInfo) { $leaderText = str_replace('%', $currentCat->cat_name, $textForEach); if ($startGroup) { echo $beforeGroup; $startGroup = false; } if ($showtitle) { echo $beforeEach.$leaderText."<a href=\"".get_permalink($newPostInfo->ID)."\">".stripslashes($newPostInfo->post_title)."</a>".$afterEach; } else { echo $beforeEach."<a href=\"".get_permalink($newPostInfo->ID)."\">".$leaderText."</a>".$afterEach; } } } if (!$startGroup) { echo $afterGroup; } else { // RAM: echo None if there is nothing there. echo $beforeGroup.$beforeEach."None".$afterEach.$afterGroup; } } function next_cat_post($categoryID, $beforeGroup='<ul>', $afterGroup='</ul>', $beforeEach='<li>', $afterEach='</li>', $showtitle=true, $textForEach='Next post in %:<br />') { global $wpdb, $post; // get home url for base of link $info = get_bloginfo('url'); $info = apply_filters('bloginfo', $info); $homeurl = convert_chars($info); // get post id of current post $currentPostId = $post->ID; // get post date of current post $currentPostDate = $post->post_date; // get the catagorys this post uses. $catagoryIds = get_the_category(); $startGroup = true; $currentCat = $categoryID; { // HEAVY LIFTING! Getting the next post. Copy and paste of the // prvious code, but with the sort order and date comparison reversed. $newPostInfo = $wpdb->get_row( "SELECT * FROM $wpdb->posts LEFT JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->term_taxonomy.taxonomy = 'category' AND $wpdb->term_taxonomy.term_id = $currentCat->cat_ID AND $wpdb->posts.post_date > '$currentPostDate' ORDER BY post_date ASC LIMIT 1"); if ($newPostInfo) { $leaderText = str_replace('%', $currentCat->cat_name, $textForEach); if ($startGroup) { echo $beforeGroup; $startGroup = false; } if ($showtitle) { echo $beforeEach.$leaderText."<a href=\"".get_permalink($newPostInfo->ID)."\">".stripslashes($newPostInfo->post_title)."</a>".$afterEach; } else { echo $beforeEach."<a href=\"".get_permalink($newPostInfo->ID)."\">".$leaderText."</a>".$afterEach; } } } if (!$startGroup) { echo $afterGroup; } else { // RAM: echo None if there is nothing there. echo $beforeGroup.$beforeEach."None".$afterEach.$afterGroup; } } ?>Dann sollte es mit dem klappen:
PHP
Alles anzeigen$special_cats = array('Gothic 1','Risen 1','Simon the Sorcerer'); // die 3 speziellen Kategorien Namen $special_cat = -1; foreach((get_the_category()) as $category) { if (in_array($category->cat_name, $special_cats)) { $special_cat = $category->cat_ID; } } if ($special_cat > -1) { previous_cat_post($special_cat); next_cat_post($special_cat); } else { // User is not in the special categories. }Wahrscheinlich musst du noch html & text anpassen (entweder direkt in den neuen beiden funktionen, oder über die (momentan ausgelassenen) Argumente.
Alles ungetestet.
-
Füge bei deiner index.php des themes oben ein.
Wobei du 3 durch die Categorie-ID der Categorie Ideen ersetzt (das Minus aber stehen lässt.). Mehr Infos gibts hier: http://codex.wordpress.org/Template_Tags/query_posts
-
Das stylesheet ist wohl relativ verlinkt. Setzte ein /wordpress/ vorne an den stylesheet-link.
-
Vergiss den oberen Code.
Ich will nämlich dass wenn der User auf Serien klickt er Ei e Auflistung aller Serien bekommt und das geht am einfachsten mit Kategorien oder?
Ja, ich denke schon.Probiermal das:
PHP
Alles anzeigen$special_cats = array('Heros','24h','Lost') // die 3 speziellen Kategorien Namen $special_cat = -1; foreach((get_the_category()) as $category) { if (in_array($category->cat_name, $special_cats)) { $special_cat = $category->cat_ID; } } if ($special_cat > -1) { previous_post_link('%link', 'vorheriger Teil', false, $special_cat); ext_post_link('%link', 'vorheriger Teil', false, $speical_cat); } else { // User is not in the special categories. } -
-
Ist das rein Technisch machbar ?
Kommt ein bisschen darauf an, was dein Webhoster alles erlaubt, aber doch ist machbar. -
Der Fehler ist, dass die siteurl (die hast du wahrscheinlich unter Einstellungen, Allgemein als "WordPress Adresse (URL)" defniert) ein gross geschriebenes EVE hat. Ändere das in eve um, und es sollte klappen.
Falls du das grossgeschrieben EVE behalten willst, kannst du in wordpress/wp-admin/includes/file.php Zeile 81 ($siteurl = get_option( 'siteurl' ); ) durch $siteurl = strtolower(get_option( 'siteurl' )); ersetzen, müsstest das aber nach jedem update wieder neu machen.
-
[COLOR=#000000][COLOR=#0000BB]mail[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$recipient[/COLOR][COLOR=#007700],[/COLOR][COLOR=#0000BB]$subject[/COLOR][COLOR=#007700],[/COLOR][COLOR=#0000BB]$mail_body[/COLOR][COLOR=#007700],[/COLOR][COLOR=#0000BB]$header[/COLOR][COLOR=#007700]);[/COLOR][/COLOR]Das Script ist für
E-Mail-Injection offen und anfällig
http://de.wikipedia.org/wiki/E-Mail-InjectionNein, der Input, welcher in für eine Mail-Injection gefährliche Teile kommt, wird sehr scharf überprüft.
-
Falls Du Dein Menu unter Design->Menüs selbst erstellt hast, kannst du einen Link mit dem Titel "Bolonka Infos" und der URL "#" erstellen und dann deine Kind-Seiten unter "Bolonka Infos" ziehen.
Falls Du das Menu nicht selbst erstellt hast, installiere eine entsprechendes Plugin, zum Beispiel http://wordpress.org/extend/plugins/page-links-to/ und füge als alternate URL # bei der Eltern-Seite ein.
-
Diese Datei speicherst Du als xyz.txt und lädst sie ins Rootverzeichnis der WP Installation (da wo auch die wp-config.php liegt).
Nein, die .htaccess muss in seinem fall ein Verzeichnis über der wp-config.php sein (da wo auch die index.php liegt) -
Was meinst du mit einer "über" Kategorie? Gibt's die in Wordpress oder ist das nur als Gedankenkonstruckt?
Was meinst du mit "in einer dieser 3, momentanen, Kategorien unterwegs ist"? Reicht es, wenn ein User ein Beitrag dieser Kategorie anguckt, oder muss dazu zuerst die Kategorie auswählen?
Mit ausgeblendet meinst wohl einfach previous_post_link() und next_post_link() sollen nicht mehr Links zu Beiträgen anderer Categorien ausspucken?PHP$catid=get_the_category( $id ); $special_cats=array(1,6,24) // die 3 speziellen Kategorien IDs if (in_array($catid, $special_cats) { previous_post_link('%link', 'vorheriger Teil', false, implode(' and ', $special_cats)); ext_post_link('%link', 'vorheriger Teil', false, implode(' and ', $special_cats) ); } else { // User is not in the special categories. }also bei mir verändert der letze Parameter nichts -.- woran kann das liegen?
Je nach Fall am TRUE (das dritte Argument in previous_post_link). -
Dass du das ganz in einer functions.php hast, ändert wohl viel. Welche functions.php ist es denn? und wie heisst die Funktion, in der dein Code drin ist?
-
-
Edit: ok, gut gemacht.
-
Ich dachte zuerst, dein neuer Server codiert Umlaute anders als der alte, doch danach sieht es für mich auf den zweiten Blick nicht aus. Vielmehr sieht es so aus, als ob dein neuer Server keine Umlaute in der URL erlaubt. Da bleibt dir wohl nichts übrig als die Bilder umzubennen.
-
OK, wieder Fehler von mir. Es muss die Kategorie-ID und nicht der Kategoriename (also z.Bsp. 3 anstatt 'test' nach dem =>) angegeben werden. Wie man die Kategorie-ID herausfindet:http://forum.wpde.org/konfiguration/…html#post277404
-
Entschuldige, ich habe Dir die falsche Datei angegeben. Such in der Datei wordpress/wp-admin/includes/file.php Zeile 81.