Antworten auf deine Fragen:
Neues Thema erstellen

Custom Post Type - Problem bei Ausgabe auf dynamischer Startseite

By3o

Noch nicht viel geschrieben

moin,
Ziel ist, verschiedene Beitragstemplates zu erstellen.
Das Problem ist die Ausgabe. Dieses Snippet habe ich in die layout-blog.php eingefügt, mit dem Ergebnis, daß anscheinend eine Endlosschleife läuft und mein Testbeitrag zig mal angezeigt wird.
PHP:
$args = array( 'post_type' => 'vorlage', 'posts_per_page' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
    the_title();
    echo '<div class="entry-content">';
    the_content();
    echo '</div>';
endwhile;
Habe ich für die Ausgabe den falschen Code, oder muss der ggf. an bestimmter Stelle eingefügt werden?

Da das Projekt auf Beiträge in Kategorien aufbaut ist wäre es perfekt, wenn sich die die Custom Post Types ausschließlich in ihrer Erscheinungsform (css) von den herkömmlichen Beiträgen unterscheiden würden.
Kann so etwas definiert werden?

Verwendet wird:
WordPress 3.8.1 Theme: Suffusion mit Child-Theme

ps.: ich hoffe, meine Anfrage ist einigermaßen nachvollziehbar. Mitlerweile habe ich einen großen Knoten im Kopf.
 

By3o

Noch nicht viel geschrieben

moin,
könnte mir doch noch jemand unter die Arme greifen.
Ich habe alles mögliche ausprobiert aber meine PHP-Kenntnisse reichen einfach nicht aus.
Meine layout-blog.php schaut so aus
PHP:
<?php
/**
* This file creates a blog-style layout of posts, useful if you are creating a generic blog.
* This file is not to be loaded directly, but is instead loaded from different templates.
*
* @package Suffusion
* @subpackage Templates
*/

global $suffusion, $query_string, $wp_query, $suffusion_current_post_index, $suffusion_full_post_count_for_view, $suffusion_blog_layout, $suffusion_duplicate_posts;
$suffusion_blog_layout = true;
if (!isset($suffusion_duplicate_posts)) $suffusion_duplicate_posts = array();

global $post, $suffusion_cpt_post_id;
if (have_posts()) {
    $suffusion_current_post_index = 0;
    $suffusion_full_post_count_for_view = suffusion_get_full_content_count();
    if (isset($suffusion_cpt_post_id)) {
        add_action('suffusion_add_taxonomy_bylines_line', 'suffusion_cpt_line_taxonomies', 10, 2);
        add_action('suffusion_add_taxonomy_bylines_pullout', 'suffusion_cpt_line_taxonomies', 10, 4);
        $cpt_meta_position = suffusion_get_post_meta($suffusion_cpt_post_id, 'suf_cpt_byline_type', true);
    }
    while (have_posts()) {
        the_post();

        $original_post = $post;
        if (in_array($post->ID, $suffusion_duplicate_posts)) {
            continue;
        }
        $suffusion_current_post_index++;

        global $suf_category_excerpt, $suf_tag_excerpt, $suf_archive_excerpt, $suf_index_excerpt, $suf_search_excerpt, $suf_author_excerpt, $suf_show_excerpt_thumbnail, $suffusion_current_post_index, $suffusion_full_post_count_for_view, $suf_pop_excerpt, $page_of_posts;

        if (($suffusion_current_post_index > $suffusion_full_post_count_for_view) && ((is_category() && $suf_category_excerpt == "excerpt") ||
            (is_tag() && $suf_tag_excerpt == "excerpt") ||
            (is_search() && $suf_search_excerpt == "excerpt") ||
            (is_author() && $suf_author_excerpt == "excerpt") ||
            ((is_date() || is_year() || is_month() || is_day() || is_time())&& $suf_archive_excerpt == "excerpt") ||
            (isset($page_of_posts) && $page_of_posts && $suf_pop_excerpt == "excerpt") ||
            (!(is_singular() || is_category() || is_tag() || is_search() || is_author() || is_date() || is_year() || is_month() || is_day() || is_time()) && $suf_index_excerpt == "excerpt"))) {
            $show_image = $suf_show_excerpt_thumbnail == "show" ? true : false;
            $classes = array('excerpt');
        }
        else {
            $classes = array('full-content');
        }
        if (isset($cpt_meta_position) && $cpt_meta_position) {
            $classes[] = 'meta-position-'.$cpt_meta_position;
        }

        do_action('suffusion_before_post', $post->ID, 'blog', $suffusion_current_post_index);

?>
    <article <?php post_class($classes);?> id="post-<?php the_ID(); ?>">
<?php
        suffusion_after_begin_post();
?>
    <div class="entry-container fix">
        <div class="entry entry-content fix">
<?php
        suffusion_content();
?>
        </div><!--entry -->
<?php
        // Due to the inclusion of Ad Hoc Widgets the global variable $post might have got changed. We will reset it to the original value.
        $post = $original_post;
        suffusion_after_content();
?>
    </div><!-- .entry-container -->
<?php
        suffusion_before_end_post();
?>
    </article><!--post -->
<?php
        do_action('suffusion_after_post', $post->ID, 'blog', $suffusion_current_post_index);
    }
    suffusion_before_end_content();
}
else {
    get_template_part('layouts/template-missing');
}
?>
Wo muss jetzt welcher Code hineingeschrieben werden?

Danke und Gruß von der heutigen Königin der Syntax error.
 

By3o

Noch nicht viel geschrieben

... mühsam nährt sich das Eichhörnchen
Den zuerst gepostete CodeSnippet habe ich getauscht und
so schaut zur Zeit meine PHP aus:
PHP:
<?php ..............................................

query_posts("post_type=neu"); //hier wird der post type bestimmt
if (have_posts()) : while (have_posts()) : the_post(); ?>
  <article class="post id-<?php echo $post->ID; ?>">
     <?php the_content(); ?>
   </article>
<?php endwhile; endif;
global $suffusion, $query_string, $wp_query, $suffusion_current_post_index, $suffusion_full_post_count_for_view, $suffusion_blog_layout, $suffusion_duplicate_posts;
$suffusion_blog_layout = true;
if (!isset($suffusion_duplicate_posts)) $suffusion_duplicate_posts = array();
.........

Es ist zwar sehr schön, daß der Testbeitrag nicht mehr in Endlosschleife läuft
aber die restlichen Post (über Beiträge erstellt) werden nicht angezeigt.

... sollte ich jemals dieses Projekt zum Laufen bekommen schwöre ich feierlich, mir PHP-Kenntnisse anzueignen.

Bis dahin hoffe ich auf Erbarmen und verbleibe mit besten Grüßen.
 

afr0kalypse

Allwissendes Karmameerschweinchen!

wenn ich das richtig sehe, nutzt du das suffusion template von wordpress. Dazu kann ich dir leider nicht viel sagen, da ich das Template im Detail nicht kenne.
Was deine Ausgabe der Beiträge angeht:
query_posts("post_type=neu"); gibt an, welche Art von Beiträgen du anzeigen willst.
"neu" wäre dabei ein Custom Post Type.
Demnach werden auch nur diese angezeigt.
Schau mal hier rein:
http://codex.wordpress.org/Post_Types


Default wäre: post_type=post
Möglich wäre auch: query_posts(array('post_type' => array( 'post', 'neu'));

Aber lies dir das erstmal genauer durch damit du auch weißt, was du tust :)
 
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

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.634
Beiträge
1.538.448
Mitglieder
67.555
Neuestes Mitglied
scheflo
Oben