Antworten auf deine Fragen:
Neues Thema erstellen

Seiten ID in Wordpress

darkdevel

Nicht mehr ganz neu hier

Leute ich bin mal wieder am verzweifeln. ich versuche immer noch das eigene Theme für Wordpress zu schreiben. In diesem Theme soll die erste Seite eine Statische Seite sein mit drei aktuellen Beiträgen und einer Beschreibung sein. Ok das habe ich hinbekommen. Die Beitragsseite soll Blog heißen ist auch angelegt. Ab jetzt habe ich das Problem. Ich habe in der function php einen Teil vom Elmar Studio eingefügt damit die ID der Seiten angezeigt wird.
Code:
<?php
// Seitenkennzahl
add_filter('manage_posts_columns', 'kb_posts_columns_id', 4);
add_action('manage_posts_custom_column', 'kb_posts_custom_id_columns', 4, 2);

add_filter('manage_pages_columns', 'kb_posts_columns_id', 4);
add_action('manage_pages_custom_column', 'kb_posts_custom_id_columns', 4, 2);

function kb_posts_columns_id($defaults){
    $defaults['kb_wps_post_id'] = __('ID');
    return $defaults;
}

function kb_posts_custom_id_columns($kb_column_name, $id){
        if($kb_column_name === 'kb_wps_post_id'){
        echo $id;
    }
}

Wenn ich im Backend nun die Seiten aufrufe bekommt die Seite Blog die ID 30. Also habe ich angefangen eine page-30.php anzulegen. Was soll ich sagen
Code:
<?php get_header();?>
<main class="site-main">
   
<article class="site-content">
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>
    <?php get_template_part('template_part/content');?>
     <?php endwhile;else :?>
     <?php get_template_part('template_part/content','error');?>
     <?php endif; ?>
   
    
       <?php
    
     $number_of_posts = get_option('posts_per_page', 10);
     $paged =(get_query_var('paged') ) ? get_query_var('paged') 1;
     $offset = ($paged - 1) * $number_of_post;
    
    
    
    
    
     $args = array(
        post_type =>'post',
        post_per_page =>3,
        offset => $offset,
        paged => $paged
    
     );
    
    
     $loop2 = new WP_Query($args);
    
     if ($loop2 -> have_posts() ) : while ( $loop2 -> have_posts() ) : $loop2 ->the_post();?>
    <?php get_template_part('template_part/content');?>
     <?php endwhile; else : ?>
     <?php get_templet_pert('template_part/content','error'); ?>
     <?php endif; ?>
    
     <?php previous_posts_link ('<< Vorherige Seite', $loop2 ->max_num_pages);?>
     <?php previous_posts_link ('Nächste Seite >>', $loop2 ->max_num_pages);?>
     <?php wp_reset_postdata(); ?>
   
</article>  
<?php get_sidebar();?>

</main>
<?php get_footer();?>

ich bekomme nur Vorherige Seite und Nächste Seite angezeigt aber keinen der Testbeiträgeund nicht die h1. Wo liegt mein Fehler.
Vielleicht ist die Content.php falsch ???

Code:
<section <?php post_class();?>>
    
<?php if(is_page(30) || is_front_page() || is_archive()) { ?>
  <h2><a href="<?php the_permalink();?>"><?php the_title();?></a></h2> 
    
     <?php } else { ?>
<h1><a href="<?php the_permalink();?>"><?php the_title();?></a></h1>

<?php } ?>

     <p class="post-meta">Veröffentlicht<?php the_time('d.m.Y');?>von<?php the_author();?><br/>Kategorie <?php the_category(',');?><br/><?php the_tags();?></p>
     <?php the_content();?>
    
</section>


Bitte bitte wer kann mir helfen? Ich bin wirklich verzweifelt.
 

dn3d_fanboy

Aktives Mitglied

Irgendwie verstehe ich nicht ganz, was du vorhast, aber wäre es nicht einfacher, wenn du direkt ein Page Template für die Startseite anlegst? Also z.b. page-home.php, die du dann in der Seitenbearbeitung einfach auswählst.
 

darkdevel

Nicht mehr ganz neu hier

Ich habe für die Startseite eine Frontpage angelegt aber ich brauche ja die Beitragsseite für den Blog. Ob ich nun über ein Plugin die ID ausles oder über die function.php ich kann über die ID die Beitragsseite nicht ansprechen. Normal kann man die Seite über die id ansprechen bzw man erstellt eine extra Seite dafür. Die Beitragsseite hat die ID 30 also habe ich eine page-30.php erstellt damit dort die Beiträge angezeigt werden. Mein Problem ist es wird die Seitensteuerung angezeigt aber nicht die Beiträge. Hier habe ich irgendwie ein Fehler drin und ich verstehe eben nicht wo das Problem liegt.
 

dn3d_fanboy

Aktives Mitglied

Ich hoffe, ich habe dich richtig verstanden:

Du hast eine statische Startseite und eine Seite angelegt, die "Blog" heißt, wo die Beiträge ausgegeben werden sollen?

In dem Fall machst du es dir unnötig kompliziert, da beim Aufruf von "Blog" ja automatisch die index.php aufgerufen wird. Es würde hier also reichen, wenn du die index.php erstellst.
 

darkdevel

Nicht mehr ganz neu hier

Genau ich habe eine statische Seite auf der die drei aktuellen Beiträge angezeigt werden. Und dann den Blog als Beitragsseite. Ich brauche also keine extra seite und könnte das über die Index steuern? Also kein zweiter Loop der das dann steuert?
 

dn3d_fanboy

Aktives Mitglied

Ja, du legst die index.php für die normale Blogansicht an. Die wird dann aufgerufen, wenn du die Seite "Blog" aufrufst.

Für die Startseite würde ich ein eigenes Template (z.B. page-homepage.php) anlegen. Das verwendete Template kannst du dann ja bei der Bearbeitung der Seite auswählen.

In der page-homepage.php kannst du dann erst den Standard-Loop für den Seiten-Content ausgeben lassen und in einen weiteren Loop dann die Blogposts.

So habe ich das gelöst:

PHP:
<?php
/*
* Template Name: Homepage
* Description: Abweichendes Template fuer die Homepage
*/

get_header(); ?>

<!-- Content der Page --->    

        <section id="boxed-wrapper">
           
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h1><?php the_title(); ?></h1>
           
<?php the_content(); ?>
               
            <?php endwhile; endif; ?>
           
        </section>
       
<!-- Ausgabe der Blogbeiträge --->       

<section id="blogposts-home">
           
            <h1 class="blogposts-home-heading">Neues aus unserem Blog</h1>
           
            <!-- Blog Post 1 Anfang -->
           
            <?php
                $args = array(
                'post_type' => 'post',
                'posts_per_page'    => 4,
                'orderby'           => 'date',
                'order'             => 'DESC',);
                $query = new WP_Query($args);
                while($query -> have_posts()) : $query -> the_post();
            ?>
           
            <article class="blogpost-home-post">
           
                <header class="blogpost-home-header">
                    <?php if ( has_post_thumbnail() ) { the_post_thumbnail( 'home-blog-thumb' ); } ?>
                   
                    <p class="blogpost-home-meta"><?php the_time('d.F Y'); ?></p>
                   
                    <h2 class="blogpost-heading"><?php the_title(); ?></h2>
                </header>
               
                <main class="blogpost-home-content">
                    <?php the_excerpt(); ?>
                </main>
               
                <footer class="blogpost-home-footer">
                    <a class="blogpost-home-more" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">Weiterlesen</a>
                </footer>
           
            </article>
            <?php endwhile; ?>

        </section>
  </section>
 </section>
   
<?php get_footer(); ?>

Ich hoffe es ist einigermaßen verständlich.
 

Mediaoase

Kellerkind und Pixelschubser

Das Standard Template für die Startseite lautet front-page.php.
Wann welche Templatedatei zum Einsatz kommt wird anhand dieses Schaubildes sehr gut deutlich.
 
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

Keine Mitglieder online.

Statistik des Forums

Themen
118.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben