所有快捷码都不适用于自定义主题

时间:2013-02-01 作者:NTL0820

我使用的自定义主题不是我自己开发的,它似乎已经禁用/或没有任何和所有短代码的功能,无论是WordPress短代码还是插件短代码。我主要需要这个函数通过插件生成的短代码来工作。我已经检查了好几件事情,看看是什么导致了它,但没有找到问题所在。这是我查过的。

当我切换回2012年的主题时,短代码工作得很好。

我已经禁用了所有其他插件,以检查是否是由于某些不兼容造成的。没有变化。

我已确保每个帖子的页面模板都有正确的循环:plugin shortcodes not working on custom theme- unsure how to fix

*编辑:以下是页面模板的代码

    <?php get_header(); ?>
<div id="main">
<div class="layout">

    <div id="content">
    <aside id="block_menu_like_division">
        <section>
            <h1 id="title_like_division"></h1>
            <nav id="nav_like_division">

            </nav>
        </section>
    </aside>
      <section>
        <article> 
          <?php // while ( have_posts() ) : the_post(); 
            if(get_the_content()){
          ?>

            <?php if(get_the_ID() == 1228) { ?>
                <h1>Forms</h1>
                <?php the_content(); ?>
            <?php }elseif(get_the_ID() == 1191){ ?>
               <!-- <h5>&nbsp</h5> -->
                <?php the_content(); ?>
            <?php }else{ ?>

                <h1><?php the_title(); ?></h1>
        <?php
                    function sup($text){

                        $true = preg_replace(\'#(\\d+)(st|th|nd|rd)#\', \'$1<sup class="super">$2</sup>\', $text);
                        return $true;

                    }
                echo sup(get_the_content()); ?>
            <?php } ?>
            <?php }else{
                $arg = query_posts(array(\'post_parent\' => get_the_ID(), \'post_type\' => \'page\', \'posts_per_page\'=>1,  \'orderby\' => \'menu_order\', \'order\' => \'ASC\' ));

//                    $arg[0]->guid;
                ?>
                <?php if($arg[0]->ID == 1811):?>
                <?php
                $ag = query_posts(array(\'post_parent\' => $arg[0]->ID, \'post_type\' => \'page\',\'posts_per_page\'=>1,  \'orderby\' => \'menu_order\',  \'order\' => \'ASC\' ));
                ?>
                <h1><?php echo $ag[0]->post_title; ?></h1>
                <?php echo $ag[0]->post_content; ?>
                <?php else:?>
                <h1><?php echo $arg[0]->post_title; ?></h1>
                <?php echo $arg[0]->post_content; ?>
                <?php endif;?>
                <?php }?>
          <?php // endwhile; // end of the loop. ?>
        </article>
      </section>
    </div>
    <aside>
        <?php include(\'quick_links.php\'); ?>



        <?php
        $url = $_SERVER[\'REQUEST_URI\'];
        $url_parse = parse_url($url);
        $level = explode(\'/\', $url_parse[\'path\']);


        if($level[1] == \'education\' || $level[1] == \'fellowship\'):?>
        <?php
        $catid = get_query_var(\'cat\');
            $s = query_posts( array(
                \'post_type\' => \'post\',
                \'post_status\' => \'publish\',
                \'category\' => \'news\',
                \'posts_per_page\' => 0, 
                \'orderby\' => \'post_date\',
                \'order\' => \'DESC\'));
        while( have_posts() ) : the_post();
            $newsList[] = array(
                \'title\' => get_the_title(),
                \'link\' => apply_filters(\'the_permalink\', get_permalink()),
                \'date\' => apply_filters(\'the_time\', get_the_time( \'F j, Y\' ), \'F j, Y\'),
                \'expert\' => apply_filters(\'the_excerpt\', get_the_excerpt()),
                \'author\' => get_the_author(),
                );
        endwhile;
        wp_reset_query();


        ?>
        <section>
            <h2>News & Information</h2>
                <div id="asideNews" class="itemsList">
            <div class="listItem">
                <article>
                    <header>
                        <h3><a href="<?php echo $newsList[0][\'link\']; ?>"><?php echo $newsList[0][\'title\']; ?></a></h3>
                    </header>
                    <p><?php echo $newsList[0][\'expert\']; ?></p>
                    <div class="readmore"><a href="<?php echo $newsList[0][\'link\']; ?>">Read More</a></div>
                </article>
            </div>
        </div>


            </section>

        <?php else:?>
        <?php

            include(\'testimonials.php\');

            ?>
      <?php endif;?>

    </aside>
</div>

</div>
<?php get_footer(); ?>
当短代码不存在时,原始开发人员可能只是重用为旧版本WordPress开发的主题。

你知道下一步该去哪里吗?

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

所以我终于找到了解决办法!!!经过数周的搜索和尝试不同的解决方案,只需从我的页面中的“the\\u content”引用中删除“get\\u”。php我改变了这个

<?php
                    function sup($text){

                        $true = preg_replace(\'#(\\d+)(st|th|nd|rd)#\', \'$1<sup class="super">$2</sup>\', $text);
                        return $true;

                    }
                echo sup(get_the_content()); ?>
到这个

<?php
                    function sup($text){

                        $true = preg_replace(\'#(\\d+)(st|th|nd|rd)#\', \'$1<sup class="super">$2</sup>\', $text);
                        return $true;

                    }
                echo sup(the_content()); ?>
到目前为止,我还没有遇到任何问题,所有的短代码现在都在工作。感谢所有其他人的投入,没有他们,我就不知道去哪里找,找什么。

SO网友:s_ha_dum

您的循环是正确的。它使用\'the_content\' (正如它应该的那样)应该触发the_content 过滤器和您的短代码应该像您尝试的其他主题一样进行处理。

我必须得出结论,你的主题是removing filtersshortcodes. 寻找一个类似remove_filter( \'the_content\', 在主题文件中。检查add_filter(\'the_content\', 也然后寻找remove_shortcode 并查看它可能正在删除的内容。

也许主题是添加一个过滤器来打破短代码,但我打赌是前两个中的一个。

结束

相关推荐

WordPress不显示wp-Content/Themes文件夹中的主题

我会尽我所能解释这一点,但至少可以说这很奇怪。因此,两个默认主题(210和2111)出现在wp admin的外观>主题选项卡下。但是,如果我向wp内容/主题添加一个新主题(即使只是一个空文件夹),则除了当前使用的主题之外,所有主题都无法显示在“外观”>“主题”选项卡上。有人有什么想法吗?--这是在LAMP服务器上(Ubuntu 12.04)。