Hi,
ich arbeite seit kurzem an einem kleinen Blog. Ich hab ein child-theme vom twentythirteen-template angelegt. Soweit so gut. Nun hab ich einen custom post type mit dem namen "rezept" angelegt und per ACF diverse custsom fields hinzugefügt, und nun möchte ich, dass dieser auf ein eigenes Template zugreift. Das habe ich auch mit folgendem code in der functions.php schon geschafft
functions.php:
function post_type_add_template() {
$post_type = get_query_var('post_type');
if (!empty($post_type)) {
locate_template(array("{$post_type}.php","index.php"), true);
exit;
}
}
add_action('template_redirect', 'post_type_add_template');
die rezept.php hat folgenden Inhalt:
<?php
get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
/**
* The default template for displaying content. Used for both single and index/archive/search.
*
* @package WordPress
* @subpackage Twenty_Thirteen
* @since Twenty Thirteen 1.0
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php if ( has_post_thumbnail() && ! post_password_required() ) : ?>
<div class="entry-thumbnail">
<a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_post_thumbnail(); ?></a>
</div>
<?php endif; ?>
<?php if ( is_single() ) : ?>
<h1 class="entry-title"><?php the_title(); ?></h1>
<?php else : ?>
<h1 class="entry-title">
<a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a>
</h1>
<?php endif; // is_single() ?>
<div class="entry-meta-top">
<?php twentythirteen_entry_meta(); ?>
<?php edit_post_link( __( 'Edit', 'twentythirteen' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .entry-meta -->
</header><!-- .entry-header -->
<?php if ( is_search() ) : // Only display Excerpts for Search ?>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div><!-- .entry-summary -->
<?php else : ?>
<div class="entry-content">
<?php the_field('pre_text'); ?>
<blockquote><?php the_field('zutaten_1'); ?></blockquote>
<?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentythirteen' ) ); ?>
<?php wp_link_pages( array( 'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentythirteen' ) . '</span>', 'after' => '</div>', 'link_before' => '<span>', 'link_after' => '</span>' ) ); ?>
</div><!-- .entry-content -->
<?php endif; ?>
<footer class="entry-meta">
<?php if ( comments_open() ) : ?>
<div class="comments-link">
<?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a comment', 'twentythirteen' ) . '</span>', __( 'One comment so far', 'twentythirteen' ), __( 'View all % comments', 'twentythirteen' ) ); ?>
</div><!-- .comments-link -->
<?php endif; // comments_open() ?>
<?php if ( is_single() && get_the_author_meta( 'description' ) && is_multi_author() ) : ?>
<?php get_template_part( 'author-bio' ); ?>
<?php endif; ?>
</footer><!-- .entry-meta -->
</article><!-- #post -->
</div><!-- #content -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Alles anzeigen
Ich habs auch schon geschafft, das die Rezepte auch auf der Startseite mit angezeigt werden...
functions.php:
add_action( 'pre_get_posts', 'add_my_post_types_to_query' );
function add_my_post_types_to_query( $query ) {
if ( is_home() && $query->is_main_query() )
$query->set( 'post_type', array( 'post', 'rezept' ) );
return $query;
}
Soviel zur Ausgangssituation.
Mein Problem ist nun das die Rezepte auf der Startseite wohl auf die content.php zugreifen. Hier werden die custom fields nicht mit ausgegeben, sondern nur the_content.
Weiter ist es dann so, das wenn ich direkt auf das Rezept gehe, dieses wohl zwar auf die rezept.php zugreift und ich auch den Link zu den comments habe, allerdings kann ich keine neuen Kommentare verfassen.
Nebenbei hab ich eben bemerkt, das auf der single ansicht des Rezepts the_content fehlt, obwohl das doch in der rezept.php eigentlich mit ausgegeben werden sollte - das ist aber eigentlich kein Problem, denn the_content soll dort eh niht angezeigt werden...
Ich hoffe es ist ersichtlich was ich damit meine!
wer es sich live ansehen möchte muss folgendem link folgen...
http://www.julianschmitt.de/red_sara/wordpress
Wer hat Lösungsansätze oder codeschnipsel die mir dabei weiterhelfen könnten?
ich muss dazu sagen, dass ich nicht firm bin in php. Ich hab mir das alles so zusammen gesucht... Ein gewisses grundverständnis ist aber vorhanden ;)
Ich danke euch!