如何通过短代码传递PHP模板

时间:2015-10-20 16:56:30

标签: wordpress shortcode

我想创建我最新博文的概述,并在我的主页的某个部分显示此信息。我的WordPress主题已经有一个所需格式的PHP模板,这意味着我不必自己创建实际的设计/样式。

由于我希望这些信息显示在一个特定的部分,我正在考虑创建一个插入信息的短代码。我之前在WP中创建了短代码,但是它们总是填充简单的信息。

我现在遇到的问题是我不知道如何通过shortcdode填充PHP模板。在短代码功能类似于此之前:

function display_my_shortcode($atts, $content, $tag){

    //if called from the 'my_primary_shortcode' shortcode
    if($tag == 'my_primary_shortcode'){
        return 'This is the primary shortcode'; 
    }
    //if called from the 'my_secondary_shortcode' shortcode
    else if($tag == 'my_secondary_shortcode'){
        return 'This is the secondary shortcode'; 
    }
    //default 
    else{
        return 'This is something else'; 
    }
    }
    add_shortcode('my_primary_shortcode','display_my_shortcode');
    add_shortcode('my_secondary_shortcode','display_my_shortcode');

我的问题是,模板的输出仍然是php - 我要导出的模板看起来像这样:

<div class="blog_holder blog_small_image">
            <?php $counter = 0; ?>
                        <?php if(have_posts()) : while ( have_posts() ) : the_post(); ?>
                            <?php
            if(get_the_category(get_the_ID()) != 'test123')
            {
                continue;
            }
            else
            {
                if($counter < 6){                           
                    get_template_part('blog_small_image', 'loop');
                    $counter++;
                }
            }
                            ?>

                        <?php endwhile; ?>
                            <?php if($qode_options_theme13['pagination'] != "0") : ?>
                                <?php pagination($wp_query->max_num_pages, $blog_page_range, $paged); ?>
                            <?php endif; ?>
                        <?php else: //If no posts are present ?>
                            <div class="entry">
                                <p><?php _e('No posts were found.', 'qode'); ?></p>
                            </div>
                        <?php endif; ?>
                        </div>

它应该创建一个包含“test123”类别的5篇博文的列表。但是,如何将此输出包含在短代码中。什么是“回报”价值?

非常感谢你们!

0 个答案:

没有答案