自定义快捷码在选项卡中不起作用

时间:2015-12-28 作者:Sanj2cool

无法运行短代码。创建用于在插件创建的选项卡中显示自定义帖子类型页面。我已经附上了这篇文章的图片。

enter image description here

下面是我创建的代码。

<?php 
 function casino_bros() {    
     $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
     $args=array(
       \'post_type\'=>casino,              
       \'posts_per_page\' => 5,
       \'orderby\' => \'date\',
       \'paged\'=>$paged
    );

    $wp_query = new WP_Query($args);

    /* PageNavi at Top */

    if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post();   

    /* DO STUFF IN THE LOOP */
    ?>
            /*  Post Loop   */

    <?php
    endwhile; endif;
    wp_reset_query(); ?> 

<?php } 

add_shortcode( \'livecasinoss\', \'casino_bros\' );  
function some_func()
{
    $data=(\'[livecasinoss]\');    
    return do_shortcode($data); 
} 
add_shortcode( \'livecasinos\', \'some_func\' );?>

1 个回复
最合适的回答,由SO网友:jgraup 整理而成

正如文章所示,ob_startob_get_clean 可以捕获典型的循环输出并作为变量返回。当您处于循环中时,您可能希望确保\\u内容也呈现其短代码。

function do_livecasinoss_shortcode($atts, $content = "") {

    // start the buffer
    ob_start();

    $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
    $args = array(
        \'post_type\'      => \'casino\',
        \'posts_per_page\' => 5,
        \'orderby\'        => \'date\',
        \'paged\'          => $paged,
    );

    $wp_query = new WP_Query($args);

    /* PageNavi at Top */

    if($wp_query->have_posts()) : while($wp_query->have_posts()) : $wp_query->the_post();

        /* DO STUFF IN THE LOOP */

        // run any shortcode items inside the_content
        echo apply_filters(\'the_content\', get_the_content());

        ?>/*  Post Loop   */<?php

    endwhile; endif;

    wp_reset_query();

    // stop the buffer / capture and return the output
    return obj_get_clean();
}

add_shortcode(\'livecasinoss\', \'do_livecasinoss_shortcode\');


// Wrapper for livecasinoss shortcode
function do_livecasinos_shortcode($atts, $content = "") {

    // return rendered shortcode
    return do_shortcode(\'[livecasinoss]\');
}

add_shortcode(\'livecasinos\', \'do_livecasinos_shortcode\');

相关推荐

Namespaced shortcode?

我正在改造一个旧的WP站点,该站点有许多自定义的短代码,显然由于代码当前的组织方式,这些短代码在性能方面付出了代价。当然,我可以修复优化不好的代码,使用十几个短代码,并且一天就可以完成,但我想知道如何更好地组织它们。根据WordPress\'documentation, 建议将它们放在插件中并在上初始化init. 我们可以通过这样“命名”它们来减少这个钩子中的负载吗?[com.company shortcode attr=\"attr\" prop=\"prop\"] 有人尝试过这样的解决方案吗