Все короткие коды, не работающие над настраиваемой темой

Я использую настраиваемую тему, не разработанную мной, которая, кажется, отключена / или не имеет функции для любых коротких кодов, будь то короткий код WordPress или короткий код плагина. Мне в основном нужна эта функция для работы с помощью коротких кодов с плагинами. Я проверил несколько вещей, чтобы увидеть, что вызывает его, но не повезло найти, где проблемы. Вот что я проверил.

Когда я переключился на тему 2012 года, короткие коды работали нормально.

Я отключил все мои другие плагины, чтобы проверить, было ли это из-за некоторой несовместимости. Без изменений.

Я убедился, что шаблон страницы имеет правильный цикл для этого сообщения: короткие коды плагинов не работают над настраиваемой темой – не уверены, как исправить

* Изменить: Вот код для шаблона страницы

<?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, когда коротких кодов не было.

Любые идеи, где смотреть дальше?

Solutions Collecting From Web of "Все короткие коды, не работающие над настраиваемой темой"

Ваша петля правильная. Он использует «the_content» (как должен), который должен запускать фильтры the_content и ваши короткие коды должны обрабатываться так же, как и в других темах, которые вы пытались использовать.

Я должен сделать вывод, что ваша тема – удаление фильтров или коротких кодов . Посмотрите на что-то вроде remove_filter( 'the_content', в ваших файлах тем. Проверьте наличие add_filter('the_content', а затем найдите remove_shortcode и посмотрите, что он может удалить.

Возможно, тема добавляет фильтр, который разбивает короткие коды, но я бы поставил на одну из первых двух.

Поэтому я наконец нашел решение !!! После многих недель поиска и поиска различных решений, это было просто вопрос удаления «get_» из ссылки «the_content» на моем page.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()); ?> 

До сих пор у меня не было проблем, и теперь все шорткоды работают. Спасибо всем остальным за их вклад, без этого я бы не знал, где и что искать.