我使用的自定义主题不是我自己开发的,它似乎已经禁用/或没有任何和所有短代码的功能,无论是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> </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开发的主题。
你知道下一步该去哪里吗?
最合适的回答,由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()); ?>
到目前为止,我还没有遇到任何问题,所有的短代码现在都在工作。感谢所有其他人的投入,没有他们,我就不知道去哪里找,找什么。