web-dev-qa-db-de.com

Alle Shortcodes funktionieren nicht mit benutzerdefinierten Designs

Ich verwende ein benutzerdefiniertes Design, das nicht von mir selbst entwickelt wurde und das anscheinend deaktiviert ist/oder nicht die Funktion für alle Shortcodes hat, unabhängig davon, ob es sich um einen WordPress-Shortcode oder einen Plugin-Shortcode handelt. Ich brauche diese Funktion meistens, um über ein Plugin generierte Shortcodes zu arbeiten. Ich habe verschiedene Dinge überprüft, um festzustellen, was die Ursache ist, aber ich hatte kein Glück, herauszufinden, wo die Probleme liegen. Folgendes habe ich überprüft.

Als ich zum Thema 2012 zurückkehrte, funktionierten die Shortcodes einwandfrei.

Ich habe alle meine anderen Plugins deaktiviert, um zu überprüfen, ob dies auf eine Inkompatibilität zurückzuführen ist. Keine Änderung.

Ich habe dafür gesorgt, dass die Seitenvorlage die richtige Schleife für diesen Beitrag hat: Plugin-Shortcodes funktionieren bei benutzerdefinierten Themen nicht

* Bearbeiten: Hier ist der Code für die Seitenvorlage

    <?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(); ?>

Es besteht die Möglichkeit, dass der ursprüngliche Entwickler ein für eine ältere Version von WordPress entwickeltes Design einfach wiederverwendet, wenn Shortcodes nicht vorhanden waren.

Irgendwelche Ideen, wo als nächstes zu suchen?

4
NTL0820

Also habe ich endlich eine Lösung gefunden !!! Nach wochenlangem Suchen und Ausprobieren verschiedener Lösungen ging es nur darum, "get_" aus einem Verweis auf "the_content" in meiner page.php zu entfernen. Ich habe dies geändert

<?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()); ?>

Dazu

<?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()); ?>

Bisher hatte ich keine Probleme und alle Shortcodes funktionieren jetzt. Vielen Dank an alle anderen für ihre Beiträge, ohne die ich nicht gewusst hätte, wo und wonach ich suchen soll.

0
NTL0820

Deine Schleife ist korrekt. Es verwendet 'the_content' (wie es sollte), was die the_content -Filter auslösen sollte, und Ihre Shortcodes sollten genau wie in den anderen Themen, die Sie versucht haben, verarbeitet werden.

Ich muss daraus schließen, dass Ihr Thema Entfernen von Filtern oder Shortcodes ist. Suchen Sie in Ihren Designdateien nach remove_filter( 'the_content',. Suchen Sie auch nach add_filter('the_content',. Suchen Sie dann nach remove_shortcode und finden Sie heraus, was möglicherweise entfernt wird.

Vielleicht fügt das Thema einen Filter hinzu, der die Shortcodes aufhebt, aber ich würde auf den einen der ersten beiden wetten.

0
s_ha_dum