如何将帖子格式添加到主题?

时间:2016-09-17 20:32:18

标签: php wordpress

用于classipress主题。我可以在函数中正常注册post_formats(工作 - 我可以选择"链接"在编辑器中输入),但我无法弄清楚如何让它实际使用模板文件进行链接讯息。

我使用了Self::_merge;在过去成功,

但是我无法想象如何将这个注入到这个主题的single.php代码中:

single.php中

get_template_part('content', get_post_format())

Content.php

<?php
/**
 * The Template for displaying all single posts.
 *
 * @package ClassiPress\Templates
 * @author  AppThemes
 * @since   ClassiPress 1.0
 */
?>


<div class="content">

    <div class="content_botbg">

        <div class="content_res">

            <div id="breadcrumb"><?php cp_breadcrumb(); ?></div>

            <div class="content_left">

                <?php appthemes_before_blog_loop(); ?>

                <?php if ( have_posts() ) : ?>

                    <?php while ( have_posts() ) : the_post(); ?>


                        <?php appthemes_before_blog_post(); ?>

                        <?php appthemes_stats_update( $post->ID ); //records the page hit ?>

                        <div class="shadowblock_out">

                            <div class="shadowblock">

                                <div class="post">




                                    <?php appthemes_before_blog_post_title(); ?>




                                    <h1 class="single blog"><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1>

                                    <?php appthemes_after_blog_post_title(); ?>
<div style="margin-top:10px; text-align:center;">
<?php if ( function_exists( 'ADDTOANY_SHARE_SAVE_KIT' ) ) { ADDTOANY_SHARE_SAVE_KIT(); } ?>
</div>

                                    <?php appthemes_before_blog_post_content(); ?>

                                    <?php if ( has_post_thumbnail() ): ?>

                                        <div id="main-pic">
                                            <?php cp_get_blog_image_url(); ?>
                                        </div>

                                    <?php endif; ?>

                                    <?php the_content(); ?>




                                    <div class="dotted"></div>
                                    <div class="pad5"></div>

                                    <?php appthemes_after_blog_post_content(); ?>



                                </div><!-- .post -->

                            </div><!-- .shadowblock -->

                        </div><!-- .shadowblock_out -->

                        <?php appthemes_after_blog_post(); ?>

                    <?php endwhile; ?>

                    <?php appthemes_after_blog_endwhile(); ?>

                <?php else: ?>

                    <?php appthemes_blog_loop_else(); ?>

                <?php endif; ?>

                <div class="clr"></div>

                <?php appthemes_after_blog_loop(); ?>

                <div class="clr"></div>

                <?php comments_template(); ?>


            </div><!-- .content_left -->

            <?php get_sidebar( 'blog' ); ?>

            <div class="clr"></div>

        </div><!-- .content_res -->

    </div><!-- .content_botbg -->

</div><!-- .content -->

尝试了很多事情,除了打破页面外没有成功做任何事情。

由于

1 个答案:

答案 0 :(得分:0)

Post formats用于自定义帖子项目的显示。如果您查看一些支持帖子格式的主题(例如Twenty Fifteen),您将看到single.php文件未用于输出帖子的内容 - 该内容被委托给content- *。 php文件。 (例如,输出帖子内容的the_content()功能不在single.php中,而在content.php(以及content-link.php和其他人)。

您的single.php似乎不是以这种方式构建的,所以它不支持帖子格式,但它可以轻松重构,只需将其拆分为两个文件(在single.php中你应该保留“框架” “每个帖子格式常见的代码,然后将其余的内容移动到一个新的content.php文件中,该文件将用作默认格式:

<强> single.php中

<?php
/**
 * The Template for displaying all single posts.
 *
 * @package ClassiPress\Templates
 * @author  AppThemes
 * @since   ClassiPress 1.0
 */
?>


<div class="content">

    <div class="content_botbg">

        <div class="content_res">

            <div id="breadcrumb"><?php cp_breadcrumb(); ?></div>

            <div class="content_left">

                <?php appthemes_before_blog_loop(); ?>

                <?php if ( have_posts() ) : ?>

                    <?php while ( have_posts() ) : the_post(); ?>


                        <?php appthemes_before_blog_post(); ?>

                        <?php appthemes_stats_update( $post->ID ); //records the page hit ?>

                        <?php
                            // Note the below line which loads the desired content*.php
                            get_template_part('content', get_post_format()); 
                        ?>

                        <?php appthemes_after_blog_post(); ?>

                    <?php endwhile; ?>

                    <?php appthemes_after_blog_endwhile(); ?>

                <?php else: ?>

                    <?php appthemes_blog_loop_else(); ?>

                <?php endif; ?>

                <div class="clr"></div>

                <?php appthemes_after_blog_loop(); ?>

                <div class="clr"></div>

                <?php comments_template(); ?>


            </div><!-- .content_left -->

            <?php get_sidebar( 'blog' ); ?>

            <div class="clr"></div>

        </div><!-- .content_res -->

    </div><!-- .content_botbg -->

</div><!-- .content -->

<强> content.php

                        <div class="shadowblock_out">

                            <div class="shadowblock">

                                <div class="post">




                                    <?php appthemes_before_blog_post_title(); ?>




                                    <h1 class="single blog"><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1>

                                    <?php appthemes_after_blog_post_title(); ?>
<div style="margin-top:10px; text-align:center;">
<?php if ( function_exists( 'ADDTOANY_SHARE_SAVE_KIT' ) ) { ADDTOANY_SHARE_SAVE_KIT(); } ?>
</div>

                                    <?php appthemes_before_blog_post_content(); ?>

                                    <?php if ( has_post_thumbnail() ): ?>

                                        <div id="main-pic">
                                            <?php cp_get_blog_image_url(); ?>
                                        </div>

                                    <?php endif; ?>

                                    <?php the_content(); ?>




                                    <div class="dotted"></div>
                                    <div class="pad5"></div>

                                    <?php appthemes_after_blog_post_content(); ?>



                                </div><!-- .post -->

                            </div><!-- .shadowblock -->

                        </div><!-- .shadowblock_out -->

现在,对于其他帖子格式,例如gallery,您必须创建一个名为content-gallery.php的文件并实现它。您可以从默认的content.php派生它,但您可以决定它应该是什么样的。