• 0belzebub0

    (@0belzebub0)


    Hallo!

    Ich sitze seit ein paar Tagen bei folgendem Problem:

    Ich habe ein eigenes Template gebastelt, bei dem der Inhalt immer auf der gleichen Seite angezeigt wird und so ein Einseiten-Layout entsteht bei dem man theoretisch unendlich scrollen kann. So weit so gut.

    Das Ganze funktioniert schon ganz gut auf der Startseite, in dem einfach der Bloginhalt mittels
    <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
    und später
    <a href="javascript: void(0)" onclick="$('#contentwindow-blog').load('<?php the_permalink(); ?>'); return false"><?php the_title(); ?></a>
    in die div contentwindow geladen wird.
    Das funktioniert auch wunderbar mit den Blogeinträgen, jedoch stoße ich bei den statischen Pages an meine Grenzen.
    Denn wenn ich die Inhalte auf die gleiche Art in ein DIV laden will, läd WordPress das ganze page.php mitsamt Header und allen drum und dran auf die Website, was eindeutig zu viel des Guten ist.

    Die page.php muss aber Header und Co beinhalten, da Teile der Seite doch noch auf einer eigenen Seite funktionieren (wobei ich stark daran denke dass ebenfalls auf der gleichen Seite zu laden).

    Also hier meine Frage:
    Kann man ein Alternatives page.php für die reinen Contentschnipsel die auf der Seite reingeladen werden erstellen? Oder gibt es besser Möglichkeiten mein Ziel zu erreichen?

    Hier eine frühe Version der Website.

    Danke schonmal für die Hilfe und ich hoffe ich konnte mein Problem halbwegs verständlich darlegen 😉

Ansicht von 2 Antworten – 1 bis 2 (von insgesamt 2)
  • Moderator Bego Mario Garde

    (@pixolin)

    Damit jQuery nicht mehrfach geladen wird, bietet WordPress dafür die Funktion wp_enqueue_script() an. Um jQuery zu nutzen (und gleichzeitig dafür zu sorgen, dass jQuery nicht mehrfach geladen wird!) kannst du z.B. folgenden Code in die functions.php deines Themes packen:

    function use_jquery() {
    	wp_enqueue_script( 'jquery' );
    }
    add_action( 'wp_enqueue_scripts', 'use_jquery' );


    „Die page.php muss aber Header und Co beinhalten, da Teile der Seite doch noch auf einer eigenen Seite funktionieren (wobei ich stark daran denke dass ebenfalls auf der gleichen Seite zu laden).“

    Sorry – so ganz verstanden habe ich das nicht.

    Templates müssen Funktionen wie get_header(); und get_footer(); verwenden, nicht nur um Header und Footer zu laden, sondern weil auch andere Funktionen an die in Header und Footer verwendeten Hooks (wp_head() und wp_footer()) gekoppelt sind – z.B. das oben genannte wp_enqueue_script();.

    Wenn ich den Titel deiner Frage aber richtig verstehe, möchtest du einzelne Abschnitte einer Seite in <div>-Tags packen, um dann einen speziellen Effekt per JavaScript zu realisieren? Dazu würde ich einen Shortcode definieren:

    function mein_abschnitt( $atts, $content = null ) {
    	return '<div class="contentwindow-blog">' . $content . '</div>';
    }
    add_shortcode( 'abschnitt', 'mein_abschnitt' );

    Ergebnis ist, dass du Inhalt in den Shortcode [abschnitt] packen kannst
    [abschnitt]Ein längerer Text eines Abschnitts[/abschnitt]
    und dieser Inhalt im Frontend in das <div>-Tag gepackt wird.
    <div class="contentwindow-blog">Ein längerer Text eines Abschnitts</div>.

    Hilft dir das weiter?

    • Diese Antwort wurde geändert vor 8 Jahren von Bego Mario Garde. Grund: Korrektur am Code
    Thread-Starter 0belzebub0

    (@0belzebub0)

    Hallo!

    Vielen Dank für die Antwort!
    Das mit der Abschnittsfunktion verstehe ich nicht so ganz. Steuert man diese Abschnitte vom Menü wieder mit javascript: void(0) aus an?

    Gibt es keine Möglichkeit Seiten (oder was ähnliches wie Seiten) direkt unter einem statischen Menü auszugeben ohne dass die Seite komplett nochmal in das DIV geladen wird und so eine zweite Instanz der Website erzeugt?

    Es geht in erster Linie um die Roadmap (Abschnitt von der Idee zum Wissensaustausch) – diese soll lediglich kurze, simpel formatierte Texte unter einem vorgefertigten Menü in der index.php darstellen. Diese Texte wären optimalerweise als Seiten im Backend bearbeitbar.

    Danke!

Ansicht von 2 Antworten – 1 bis 2 (von insgesamt 2)
  • Das Thema „Inhalte in DIV ausgeben“ ist für neue Antworten geschlossen.