Antworten auf deine Fragen:
Neues Thema erstellen

2 single.php verwenden

Qrt

Noch nicht viel geschrieben

Habe folgenden Thread dazu auch schon gefunden, nur bekomme ich es leider nicht zum laufen?!

Es geht um folgende Seite:

Problem: Klickt man bei der Startseite auf ein beliebiges Foto, so öffnet sich die Vorschau und man kann oberhalb des Fotos sich dort weitere "Beiträge" sprich Fotos durch klicken. Nur sind diese alle von der selben Kategorie. Ich möchte aber an dieser Stelle durch alle Fotos gehen, die man auf der Startseite sieht.

Die single.php die ich im Moment verwende ist für die Kategorie/category.php optimiert. Klickt man auf eine Kategorie, so erscheinen alle Bilder, die dieser zugewiesen sind. Bei der Vorschau erscheint ebenfalls das Menü und man kann durch alle Fotos gehen, die sich in der jeweiligen Kategorie befinden.

Ich weiß auch schon so weit, dass wenn man sich Beträge einer spezifischen Kategorie anschauen möchte der Link wie folgt lautet:
PHP:
<?php previous_post_link ( $format = '%link', $link = '%title', $in_same_cat = true );?>
<?php next_post_link ( $format = '%link', $link = '%title', $in_same_cat = true ); ?>

Und wenn man sich durch alle klicken möchte:
PHP:
<?php previous_post_link ( );?>
<?php next_post_link (  ); ?>

Korriegiert mich bitte, wenn ich falsch liege. Jedenfalls komme ich zum erwünschten Ergebnis.
Die index.php und die category.php verwenden beide den gleichen Link zur Vorschau, daher lande ich natürlich auch immer bei der gleichen single.php

Code:
href="<?php the_permalink() ?>

Wie kann ich der index.php sagen, sie soll die single_01php verwenden und die category die single_02.php? Kann man das nicht durch einfache Link Zuweisung erzielen?!
 
Zuletzt bearbeitet von einem Moderator:

lachender_engel

Aktives Mitglied

Ich nutze für diese Fällte eine kleine "Weiche", in der single.php. Die sieht so aus:
PHP:
<?php get_header(); ?>
<?
if(in_category(array( 'slug-1', 'slug-2' ))) get_template_part('single','aaa');
else if(in_category(array('slug-3','slug-4'))) get_template_part('single','bbb');
else get_template_part('single','general');
?>
<?php get_footer(); ?>
Ist die Kategorie des aufgerufenen Artikel 'slug-1' oder 'slug-2' includiert die single.php single-aaa.php. Das selbe bei der anderen Abfrage. Die Abfrage kannst Du natürlich auch, statt nach Kategorie, nach Posts oder anderen Kriterien steuern.
Trifft kein Kriterium zu, erfolgt der include von single-general.php
 

Qrt

Noch nicht viel geschrieben

Sehe ich das richtig, dass ich mit der "Weiche" verschiedene Kategorien verschiedene styles sprich eine andere single.php (single_a.php, single_b.php) zuweisen kann?! Ähnliches hatte ich vorher auch schon.

Klappte auch soweit, Kategorie "a" bekam single_a.php und Kategorie "b" single_b.php.

Nur wie sieht es aus, wenn ich in keiner bestimmten Kategorie bin und dann auf einen Beitrag klicke?

Beispiel:
Kategorie a,b,c etc bekommen single_a.php aber wenn ich auf der Startseite bin möchte ich, dass der angeklickte Beitrag single_b.php bekommt.

Das Problem wird auf meiner Seite recht schnell deutlich:
Auf der Startseite sieht man alle Beiträge/Fotos. Klickt man z.B. das erste an, landet man in der Vorschau aber auch gleichzeitig in einer Kategorie, die dem Foto zugewiesen wurde. Somit kann man dann nur durch drei Bilder anstatt durch alle klicken.
 
Zuletzt bearbeitet:

lachender_engel

Aktives Mitglied

Du kannst einem Beitrag keine single.php zuweisen. Daher die Weiche. Über die Weiche geht das. Statt - wie in meinem Beispiel - if(in_category... zu nehmen kannst Du auch nach if(... oder if(... selektieren.
Ich habe mir auch Deine Seite angeschaut und kann Dein beschriebenes Problem nicht nachvollziehen. Denn ich kann überhaupt nicht durch die Fotos "blättern".
 

Qrt

Noch nicht viel geschrieben

Alles klar. Danke dir! Das mit dem "blättern" müsste klappen?! Die Buttons dafür sind rechts oberhalb des Fotos.
 

lachender_engel

Aktives Mitglied

Ok, jetzt verstehe ich das. Das ist nciht gut gelöst. Ich erkenne jetzt, dass dort die Titel des nächsten und vorherigen Bildes stehen. Bin ich beim letzten Fot angelangt sthe tda wieder nur ein Titel. Das verwirrt. Denn schaue ich mir Bilder an, lese ich mir nicht die Tiel der Navigation durch. Hier würde ich an Deiner stelle (wenn auch nur zusätzlich) mit Pfeilen arbieten. Oder mit Begriffen wie "nächstes Foto" oder "vor" und "zurück".
Was Dein "Problem" angeht löst sich das jedoch nicht durch eine andere single.php sondern die Art wied Du den Filter auf Deine Navigation setzt. Poste mal den Code, wie Du das Blättern der Fotos umgesetzt hast.
 

Qrt

Noch nicht viel geschrieben

Hi, danke für das feedback! Wollte dir gestern schon geschrieben haben. Werde das diesbezüglich der buttons nochmal ändern.

Der Code für das blättern lautet wie folgt
Code:
<?php previous_post_link ( $format = '%link', $link = '%title', $in_same_cat = true );?>
<?php next_post_link ( $format = '%link', $link = '%title', $in_same_cat = true ); ?>

Dieser steht wie gesagt in der single.php. Sicher, dass keine weitere single.php brauche?

Denn im mom habe ich zwei Möglichkeiten einen Beitrag/Bild aufzurufen.
Einmal von der Startseite aus (index.php) und über das Menü bzw der Kategorie (category.php).

Ein Bild zum Verständniss.
http://www.cqrt.de/upload/img/navigation_01.jpg

Beide Datein index.php und category.php nutzen zur Weiterlung zum Beitrag den gleichen Link (href="<?php the_permalink() ?>") und somit landet man in der gleichen single.php.
Der Filter ist ja soweit richtig, denn wenn ich in einer Kategorie bin, möchte ich ja nur die Bilder aus der jeweiligen Kategorie sehen.

Die Startseite aber zeigt alle Kategorien an, somit brauche ich ja eine andere single.php?! um eine Navigation ohne Filter zu haben.
 

lachender_engel

Aktives Mitglied

Da es nur um die Navigation geht reicht es - nach meinem bisherigen Verständnis - aus, die Navigation anzupassen.
Im Fall, dass Du von der Homeseite auf den Beitrag klickst reicht es den Paramter "$in_same_cat = true" auf "$in_same_cat = false" zu setzen.
Dazu kannst Du vor dem eigentlich Link die Abfrage einbauen ob der Aufruf über die Startseite kommt und das Ergebnis in der Variablen $in_same_cat speichern. Insgesamt sieht das dann so aus:
PHP:
<?php $in_same_cat = (wp_get_referer()==get_home_url() ? FALSE : TRUE; ?>
<?php previous_post_link ( $format = '%link', $link = '%title', $in_same_cat );?>
<?php next_post_link ( $format = '%link', $link = '%title', $in_same_cat ); ?>
Das ist jetzt ungetestet, sollte so aber funktionieren.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben