Support » Allgemeine Fragen » Problem mit Permalinks…

  • Hallo ihr!

    Ich betreibe eine Bücherseite und bin auf ein Problem gestoßen.

    Wenn ich meine Seite aufrufe und die aktuellsten Posts auf der Hauptseite angezeigt werden, habe ich ja eine Vorschau jener Posts. Ein Klick auf den oberen Link (also den Titel) führt dann zum Permalink mit der Struktur:

    urlvonmeinerseite/%year%/%monthnum%/%postname%/

    Ebenso, wenn ich den „read more“-Link unter den aufgelisteten Vorschautexten klicke.

    Benutze ich allerdings die Suche oder möchte mir alle Posts einer Kategorie ansehen, so ist in den Suchergebnissen in der Titelzeile der (korrekte) Permalink:

    urlvonmeinerseite/%year%/%monthnum%/%postname%/

    …beim „read more“-Link steckt „dahinter“ allerdings nur

    urlvonmeinerseite/%postname%/

    …was natürlich dazu führt, dass der Klick ins Leere führt, quasi ein 404-Fehler erscheint.

    Ich habe über Einstellung -> Permalink das gewünschte Format (es MUSS aus verschiedenen Gründen das mit den Jahres-/Monatszahlen sein!) eingestellt und auch versucht, mittels Dateiberechtigungen 777 für den Speichervorgang der Permalinksettings die .htaccess schreiben zu lassen (und nach dem Speichern natürlich wieder auf 644 zurück) – ändert beides nix. Auch ein Switch auf das Standardtheme brachte nichts. Am Theme liegt es also wohl auch nicht…

    Meine .htaccess sieht so aus:

    DirectoryIndex index.php index.html
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress

    Was auch immer ich tue – der Link hinter der Titelleiste und beim „read more“ auf der Hauptseite passt sich den Einstellungen an, aber der Link hinter dem „read more“ in den Suchergebnissen beharrt starr auf dem datumslosen Format… also homepageadresse/%postname%/

    Wie kann ich WP so erziehen dass er überall dieses, und auch NUR dieses Format…

    urlvonmeinerseite/%year%/%monthnum%/%postname%/

    …übernimmt?

    Habe mich hier durchgesucht und sehe leider den Wald nicht mehr vor lauter Bäumen.. Danke im Voraus und sorry!

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)
  • Moderator espiat

    (@espiat)

    Hallo.

    Wenn es nicht das Theme ist und die .htaccess, dann tippe ich stark auf ein Such-Plugin, was du eventuell benutzt.

    Werden Childthemes benutzt?

    Hast du schon mal in das Template der Suchseite von deinem Theme geschaut, ob dort der folgende Code, für den Link zum Post dargestellt wird?

    <?php the_permalink(); ?>

    Ob das ein Childtheme ist oder nicht, dafür fehlt mir die Ahnung, ehrlich gesagt. Aber das hier ist die search.php, ich nutze das Theme „Easel“.

    <?php the_permalink(); ?> ist dort nicht zu finden.

    Hier mal die search.php des Themes:

    <?php
    get_header();
    
    $count = 'No';
    if (have_posts()) :
    	$count = $wp_query->found_posts;
    ?>
    	<h2 class="page-title"><?php _e('Search for &lsquo;','easel'); the_search_query(); _e('&rsquo;','easel'); ?></h2>
    	<div class="searchresults"><?php printf(_n("%d result.", "%d results.", $count,'easel'),$count); ?></div>
    	<div class="clear"></div>
    <?php
    	if (easel_themeinfo('display_archive_as_links')) { ?>
    	<div <?php post_class(); ?>>
    		<div class="post-head"></div>
    		<div class="entry">
    		<table class="archive-table">
    			<?php while (have_posts()) : the_post(); ?>
    			<tr><td class="archive-date"><?php the_time('M d, Y') ?></td><td class="archive-title"><a href="<?php echo get_permalink($post->ID) ?>" rel="bookmark" title="<?php _e('Permanent Link:','easel'); ?> <?php the_title() ?>"><?php the_title() ?></a></td></tr>
    			<?php endwhile; ?>
    		</table>
    		</div>
    		<div class="post-foot"></div>
    	</div>
    	<?php } else {
    		while (have_posts()) : the_post();
    			easel_display_post();
    		endwhile;
    	} ?>
    	<div class="clear"></div>
    	<?php easel_pagination();
    	else : ?>
    		<div class="post post-search type-page">
    			<div class="post-head"></div>
    			<div class="post-content">
    				<div class="entry">
    					<h3><?php _e('No results found.','easel'); ?></h3>
    					<p><?php _e('Try another search?','easel'); ?></p>
    					<p><?php get_search_form(); ?></p>
    				</div>
    			</div>
    			<div class="post-foot"></div>
    		</div>
    <?php
    	endif;
    
    get_footer();
    ?>
    Moderator espiat

    (@espiat)

    Ich habe mal versucht den Fehler nachzuvollziehen.
    WP Version: 3.5
    Aktuelles Theme Template 3.2.1

    Leider übernimmt WordPress (bei mir) die Einstellung mit der Permalinkstruktur ohne Probleme.

    Auf der Suchseite wird die Funktion „easel_display_post();“ des Themes angesprochen, um die Ergebnisse auszugeben.

    Da der Fehler nicht bei mir auftritt, ist es schwer nachzuvollziehen. Hast du Cache Plugins im Einsatz?

    Der Fehler tritt auch nur auf, wenn eine suchbasierte Seite aufgerufen wird (Klick auf Kategorie im Menü links und dann auf den „Kompletten Artikel lesen“-Link, selbiges bei der Auswahl eines Archivmonats rechts)…

    Ein Cache-Tool ist nicht im Einsatz. Du meinst wohl sowas wie WP Super Cache oder W3 Total Cache, right? Letzteres habe ich leider nicht zum Laufen gebracht, weil irgendwas mit der .htaccess nicht klappt, also hab ich es deaktiviert und irgendwann deinstalliert. Momentan ist WP Super Cache installiert, aber inaktiv.

    Okay, ich habe das Problem gelöst. Ich habe das Plugin „Custom More Link Complete“ installiert und hatte mit dem Theme ein Problem, denn in den suchbasierten Ergebnissen (Kategorie, Suche, Archiv) wurde dadurch der „mehr lesen“-Link doppelt gesetzt. Also musste ich in der functions.php des Themes die Linkausgabe mit einem // funktionslos machen.

    Nun habe ich das Plugin deinstalliert und in der functions.php das // wieder entfernt und ich bekomme überall den korrekten Permalink.

    Alles gut und schön.

    Primär habe ich das eingangs genannte Plugin dafür installiert, damit es mir auf der Hauptseite des Blogs (wo die Vorschauen der letzten Beiträge angezeigt werden) nicht „Continue reading [titel-des-posts]“ anzeigt, sondern einen eigenen Text. Nur habe ich keine Ahnung, wo ich das ändern kann.

    Aber das Thema hab ich hier aufgegriffen:
    http://de.forums.wordpress.org/topic/continue-reading-text-auf-bloghauptseite-andern?replies=1#post-29056

    Moderator espiat

    (@espiat)

    Okay. Lag es wohl doch an einem Plugin. Lösung im anderen Thread.

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)
  • Das Thema „Problem mit Permalinks…“ ist für neue Antworten geschlossen.