Antworten auf deine Fragen:
Neues Thema erstellen

Seiten anstelle von Artikeln verlinken

F

FrostAgent

Guest

Moin,

ich bin gerade dabei ein Wordpress-Theme nach meinen Vorzügen zu optimieren und hänge gerade etwas bei der Problemlösung fest.

Aktuell werden auf der Startseite sechs Boxen zu den sechs aktuellsten Artikeln verlinkt, dies möchte ich ändern. Ich möchte die sechs Boxen sechs bestimmten Seiten zuweisen und am Ende für jede Box eine eigene Hovergrafik festlegen, aktuell gibt es für alle sechs Boxen nur eine Grafik.



Die index.php sieht wie folgt aus:

Code:
<?php get_header(); ?> 

              <ul class="mcol">
              <?php if(have_posts()) : ?><?php query_posts('category_name=Allgemein'); ?><?php while(have_posts()) : the_post(); ?>
              	<li class="article" id="page-<?php the_ID(); ?>">

			<?php
			if ( has_post_thumbnail() ) { ?>
                    	<?php 
                    	$imgsrcparam = array(
						'alt'	=> trim(strip_tags( $post->post_excerpt )),
						'title'	=> trim(strip_tags( $post->post_title )),
						);
                    	$thumbID = get_the_post_thumbnail( $post->ID, 'background', $imgsrcparam ); ?>
                        <div class="preview"><a href="<?php the_permalink() ?>"><?php echo "$thumbID"; ?></a></div>

                    
                    <?php } else {?>
                        <div class="preview">
							<a href="<?php the_permalink() ?>"><img src="<?php bloginfo('template_url'); ?>/images/LEISTUNGEN_proto.jpg" alt="<?php the_title(); ?>" /></a>
						</div>
                    <?php } ?>

                    <div class="article-over">
					<!--Hovergrafik einfügen-->
                      <a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/LEISTUNGEN_proto.jpg" alt="<?php the_title(); ?>" /></a>
                      

                    </div>
                </li> <?php ?>
            <?php endwhile; ?>
            <?php else : ?>


            <?php endif; ?>
            </ul>

            <?php if(have_posts()) : ?><?php query_posts('category_name=Allgemein'); ?><?php while(have_posts()) : the_post(); ?>
            <?php endwhile; ?>
            <?php else : ?>
                <h1 id="error"><?php _e("Seite nicht gefunden."); ?></h1>
            <?php endif; ?>


            <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
<?php get_footer(); ?>

Ich habe schon ein wenig in den Wordpress docs gelesen, demnach müsste ich auf jeden Fall diesen Schnipsel bearbeiten.

Code:
<?php query_posts('category_name=Allgemein'); ?>

Dieser befindet sich in der index.php und sorgt, wenn ich mich nicht irre, dafür dass die Artikel ausgegeben werden, in diesem Fall aus einer bestimmten Kategorie.

Nun möchte ich allerdings stattdessen Seiten verlinken, da bin ich in den docs auf folgenden Snippet aufmerksam geworden

Code:
<?php $query = new WP_Query( array( 'post__in' => array( 119, 304, 307, 194, 7, 249 ) ) );  ?>

Die notwendigen IDs habe ich auch schon eingetragen und in der index.php ersetzt, allerdings wird mir dann bloß angezeigt, dass die Seite nicht gefunden wird.

Habe ich noch irgendetwas vergessen, was anzupassen ist? Die umgebaute Funktion müsste eigentlich die richtige sein.

Eventuell kann mir jemand von euch auf die Sprünge helfen.

Freue mich über jede Antwort
Gruß Chris
 

cebito

undefined

AW: Seiten anstelle von Artikeln verlinken

Ich würd dort ein Widget mit nem individuellen Menü einbauen, per CSS stylen, fertig.
 
F

FrostAgent

Guest

AW: Seiten anstelle von Artikeln verlinken

Da könnte ich theoretisch so vorgehen, als würde ich ein Seitentemplate erstellen oder?

Code:
  register_sidebar( array(    
    'id'            => 'index-sidebar',     
    'name'          => __( 'index Sidebar', $text_domain ),     
    'description'   => __( 'This is the index sidebar.', $text_domain ),
          'before_widget' => '<li id="%1$s" class="widget %2$s">',    
    'after_widget'  => '</li>',     
    'before_title'  => '<h2 class="widgettitle">',     
    'after_title'   => '</h2>',   
) );

Für die functions.php

Und in die index.php kommt dann praktisch eine page.php, lediglich individuell für mein Menü angepasst.

Code:
<?php
/*
Template Name: index
*/
?> 
<?php get_header(); 
	  if ( !function_exists('dynamic_sidebar')) : ?>
<?php endif; ?>


            <div id="main">
              <?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
                <div id="main1"></div>
				
			<div id="index-sidebar">
					<?php dynamic_sidebar( 'index-sidebar' );  ?>
			</div>		
				
            <?php endwhile; ?>
            <?php else : ?>
                <h1><?php _e("Seite nicht gefunden!"); ?></h1>
            <?php endif; ?>
            </div>
<?php get_footer(); ?>

Interessanterweise zeigt er mir dann aber die gewünschten Links nicht nur einmal an, sondern gleich mehrfach, obwohl das es im Widget richtig ausgewählt ist, dort habe ich alle sechs Seiten jeweils einmal drin.

Die Seiten per ID direkt über die index.php einzubinden erscheint mir dabei was als einfacher, da ich dort auch direkt die div-Container so setzen könnte, dass letztendlich auch alles mit Hovergrafiken perfekt sitzt.
 
F

FrostAgent

Guest

AW: Seiten anstelle von Artikeln verlinken

Okay, ich habe mich jetzt noch ein bisschen mit der Startseite beschäfigt und et voila, wie gewünscht. Habe es nun doch ohne Widget gelöst und ohne die index.php komplett neuzuschreiben. Einfach den Inhalt des ul-Containers vergrößert. :)

PHP:
<?php get_header(); ?> 
			<!------------------------------------- Erste Box Anfang LEISTUNGEN Zeile 1/2--------------------------------------->
              <ul class="mcol">
              <?php if(have_posts()) : ?><?php query_posts('page_id=119'); ?><?php while(have_posts()) : the_post(); ?>
              	<li class="article" id="page-<?php the_ID(); ?>">

			<?php
			if ( has_post_thumbnail() ) { ?>
                    	<?php 
                    	$imgsrcparam = array(
						'alt'	=> trim(strip_tags( $post->post_excerpt )),
						'title'	=> trim(strip_tags( $post->post_title )),
						);
                    	$thumbID = get_the_post_thumbnail( $post->ID, 'background', $imgsrcparam ); ?>
                        <div class="preview"><a href="<?php the_permalink() ?>"><?php echo "$thumbID"; ?></a></div>

                    
                    <?php } else {?>
                        <div class="preview">
							<a href="<?php the_permalink() ?>"><img src="<?php bloginfo('template_url'); ?>/images/Leistungen hover_240px.png" alt="<?php the_title(); ?>" /></a>
						</div>
                    <?php } ?>

                    <div class="article-over">
					<!--Hovergrafik einfügen-->
                      <a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/Leistungen hover_240px.png" alt="<?php the_title(); ?>" /></a>
                      

                    </div>
                </li> <?php ?>
            <?php endwhile; ?>
            <?php else : ?>


            <?php endif; ?>
			<!------------------------------------- Erste Box Ende LEISTUNGEN--------------------------------------->		
			<!------------------------------------- Zweite Box Anfang SHOP --------------------------------------->	
			              <?php if(have_posts()) : ?><?php query_posts('page_id=304'); ?><?php while(have_posts()) : the_post(); ?>
              	<li class="article" id="page-<?php the_ID(); ?>">

			<?php
			if ( has_post_thumbnail() ) { ?>
                    	<?php 
                    	$imgsrcparam = array(
						'alt'	=> trim(strip_tags( $post->post_excerpt )),
						'title'	=> trim(strip_tags( $post->post_title )),
						);
                    	$thumbID = get_the_post_thumbnail( $post->ID, 'background', $imgsrcparam ); ?>
                        <div class="preview"><a href="<?php the_permalink() ?>"><?php echo "$thumbID"; ?></a></div>

                    
                    <?php } else {?>
                        <div class="preview">
							<a href="<?php the_permalink() ?>"><img src="<?php bloginfo('template_url'); ?>/images/shop hover_240px.png" alt="<?php the_title(); ?>" /></a>
						</div>
                    <?php } ?>

                    <div class="article-over">
					<!--Hovergrafik einfügen-->
                      <a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/shop hover_240px.png" alt="<?php the_title(); ?>" /></a>
                      

                    </div>
                </li> <?php ?>
            <?php endwhile; ?>
            <?php else : ?>


            <?php endif; ?>
			<!------------------------------------- Zweite Box Ende SHOP--------------------------------------->
			<!------------------------------------- Dritte Box Anfang Angebote--------------------------------------->
			
			              <?php if(have_posts()) : ?><?php query_posts('page_id=307'); ?><?php while(have_posts()) : the_post(); ?>
              	<li class="article" id="page-<?php the_ID(); ?>">

			<?php
			if ( has_post_thumbnail() ) { ?>
                    	<?php 
                    	$imgsrcparam = array(
						'alt'	=> trim(strip_tags( $post->post_excerpt )),
						'title'	=> trim(strip_tags( $post->post_title )),
						);
                    	$thumbID = get_the_post_thumbnail( $post->ID, 'background', $imgsrcparam ); ?>
                        <div class="preview"><a href="<?php the_permalink() ?>"><?php echo "$thumbID"; ?></a></div>

                    
                    <?php } else {?>
                        <div class="preview">
							<a href="<?php the_permalink() ?>"><img src="<?php bloginfo('template_url'); ?>/images/Angebote hover_240px.png" alt="<?php the_title(); ?>" /></a>
						</div>
                    <?php } ?>

                    <div class="article-over">
					<!--Hovergrafik einfügen-->
                      <a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/Angebote hover_240px.png" alt="<?php the_title(); ?>" /></a>
                      

                    </div>
                </li> <?php ?>
            <?php endwhile; ?>
            <?php else : ?>


            <?php endif; ?>
			<!------------------------------------- Dritte Box Ende Angebote--------------------------------------->
				
            </ul>

            <?php if(have_posts()) : ?><?php query_posts('page_id=119'); ?><?php while(have_posts()) : the_post(); ?>
            <?php endwhile; ?>
            <?php else : ?>
                <h1 id="error"><?php _e("Seite nicht gefunden."); ?></h1>
            <?php endif; ?>
			
<!----------------------- Zweite Zeile -------------------------->				

				
			<!------------------------------------- Vierte Box Anfang Referenzen Zeile 2--------------------------------------->
			
<ul class="mcol">
              <?php if(have_posts()) : ?><?php query_posts('page_id=194'); ?><?php while(have_posts()) : the_post(); ?>
              	<li class="article" id="page-<?php the_ID(); ?>">

			<?php
			if ( has_post_thumbnail() ) { ?>
                    	<?php 
                    	$imgsrcparam = array(
						'alt'	=> trim(strip_tags( $post->post_excerpt )),
						'title'	=> trim(strip_tags( $post->post_title )),
						);
                    	$thumbID = get_the_post_thumbnail( $post->ID, 'background', $imgsrcparam ); ?>
                        <div class="preview"><a href="<?php the_permalink() ?>"><?php echo "$thumbID"; ?></a></div>

                    
                    <?php } else {?>
                        <div class="preview">
							<a href="<?php the_permalink() ?>"><img src="<?php bloginfo('template_url'); ?>/images/Referenzen hover_240px.png" alt="<?php the_title(); ?>" /></a>
						</div>
                    <?php } ?>

                    <div class="article-over">
					<!--Hovergrafik einfügen-->
                      <a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/Referenzen hover_240px.png" alt="<?php the_title(); ?>" /></a>
                      

                    </div>
                </li> <?php ?>
            <?php endwhile; ?>
            <?php else : ?>


            <?php endif; ?>
			<!------------------------------------- Vierte Box Ende Referenzen--------------------------------------->
			<!------------------------------------- Fünfte Box Anfang Kontakt--------------------------------------->

              <?php if(have_posts()) : ?><?php query_posts('page_id=7'); ?><?php while(have_posts()) : the_post(); ?>
              	<li class="article" id="page-<?php the_ID(); ?>">

			<?php
			if ( has_post_thumbnail() ) { ?>
                    	<?php 
                    	$imgsrcparam = array(
						'alt'	=> trim(strip_tags( $post->post_excerpt )),
						'title'	=> trim(strip_tags( $post->post_title )),
						);
                    	$thumbID = get_the_post_thumbnail( $post->ID, 'background', $imgsrcparam ); ?>
                        <div class="preview"><a href="<?php the_permalink() ?>"><?php echo "$thumbID"; ?></a></div>

                    
                    <?php } else {?>
                        <div class="preview">
							<a href="<?php the_permalink() ?>"><img src="<?php bloginfo('template_url'); ?>/images/Kontakt hover_240px.png" alt="<?php the_title(); ?>" /></a>
						</div>
                    <?php } ?>

                    <div class="article-over">
					<!--Hovergrafik einfügen-->
                      <a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/Kontakt hover_240px.png" alt="<?php the_title(); ?>" /></a>
                      

                    </div>
                </li> <?php ?>
            <?php endwhile; ?>
            <?php else : ?>


            <?php endif; ?>
			<!------------------------------------- Fünfte Box Ende Kontakt--------------------------------------->
			<!------------------------------------- Sechste Box Anfang Partner--------------------------------------->
			              <?php if(have_posts()) : ?><?php query_posts('page_id=249'); ?><?php while(have_posts()) : the_post(); ?>
              	<li class="article" id="page-<?php the_ID(); ?>">

			<?php
			if ( has_post_thumbnail() ) { ?>
                    	<?php 
                    	$imgsrcparam = array(
						'alt'	=> trim(strip_tags( $post->post_excerpt )),
						'title'	=> trim(strip_tags( $post->post_title )),
						);
                    	$thumbID = get_the_post_thumbnail( $post->ID, 'background', $imgsrcparam ); ?>
                        <div class="preview"><a href="<?php the_permalink() ?>"><?php echo "$thumbID"; ?></a></div>

                    
                    <?php } else {?>
                        <div class="preview">
							<a href="<?php the_permalink() ?>"><img src="<?php bloginfo('template_url'); ?>/images/Partner hover_240px.png" alt="<?php the_title(); ?>" /></a>
						</div>
                    <?php } ?>

                    <div class="article-over">
					<!--Hovergrafik einfügen-->
                      <a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/Partner hover_240px.png" alt="<?php the_title(); ?>" /></a>
                      

                    </div>
                </li> <?php ?>
            <?php endwhile; ?>
            <?php else : ?>


            <?php endif; ?>
			
			
            </ul>

            <?php if(have_posts()) : ?><?php query_posts('page_id=194'); ?><?php while(have_posts()) : the_post(); ?>
            <?php endwhile; ?>
            <?php else : ?>
                <h1 id="error"><?php _e("Seite nicht gefunden."); ?></h1>
            <?php endif; ?>	

            <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
<?php get_footer(); ?>			
			<!------------------------------------- Ende--------------------------------------->

Jetzt nurnochmal die Frage, wie bekomme ich die Hovergrafiken perfekt passig auf das [STRIKE]Artikel-[/STRIKE] Seiten-Bild?



Normal mit position absolute oder? Allerdings passt das nicht genau, das Problem mit der nicht passigen Position habe ich auch erst, seitdem ich den Container zentriert habe.

Ich habe versucht das dann irgendwie so zurechtzubiegen bis es passt, aber hundertprozentig sitzt es immer noch nicht, wie man der dritten Box oben sieht.

Code:
.article-over {
	position:absolute;
	bottom:1px;
	left:32px;
}

...habe ich da eventuell noch andere Lösungsmöglichkeiten?
 

HaeF

Grufti

AW: Seiten anstelle von Artikeln verlinken

Wo hast Du den seltsamen Code-Mix aus PHP und HTML her?
Du solltest Dich mit der echo-Anweisung befassen und wie man HTML per PHP ausgibt.

PHP:
<?
 if(have_posts()) : query_posts('page_id=119'); 
 while(have_posts()) : the_post(); 
 echo '<li class="article" id="page-'.the_ID().'">';
 ?>

http://www.php.net/manual/de/tutorial.firstpage.php
 
Zuletzt bearbeitet:
F

FrostAgent

Guest

AW: Seiten anstelle von Artikeln verlinken

Bin php-technisch noch nicht so bewandert, deshalb habe ich mir dieses "Konstrukt" überlegt. Ich werde mir das nochmal angucken..aber aktuell funktionierts ja. :D
 
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.635
Beiträge
1.538.481
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben