Verstehe folgendes Script nicht...

  • Hallo,

    ich versuche das Theme "Footlovers Restaurant Theme" an meine Bedürfnisse anzupassen. Dazu musste ich das Custom-Template für Speisen anpassen, weil ich möchte, dass man einzelne Speisen über soziale Medien Liken oder Empfehlen kann.

    Ich habe eine neue single-foods.php für die custom-posts in der Kategorie für die Speisekarte erstellt. Mit dieser habe ich allerdings Probleme. Weil ich nachfolgens Script nicht verstehe. Ich weiß, dass dieses Script sowohl dafür verantwortlich ist, dass die spezifischen Einträge der Custom-Posts übernommen werden und dafür, dass die einzelnen Einträge in dieser Kategorie geloopt werden. Ich will aber nur die spezifischen Einträge wie Preis und Zusatzoptionen - aber eben nicht, dass die Artikel geloopt werden.

    Hier das unverständliche Script:

    Wo kann ich ein $loop entfernen? Oder was muss ich umschreiben, damit nicht alle Post geloopt werden, ich aber dennoch Preis und Zusatzoptionen ausweisen kann?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Danke für die Antwort! Aber was muss ich stattdessen schreiben?

    [COLOR=#DD0000][FONT=monospace]'posts_per_page' [/FONT][/COLOR][COLOR=#007700][FONT=monospace]=> [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]'0'[/FONT][/COLOR]

    Ich habe da lange rumexperimentiert. Am Ende habe ich das Custom-Template komplett in diese neue single-foods.php kopiert und wild herumgeändert. Sofern es klappt und ich das loopen verhindern kann, müsste diese Seite aber so angezeigt werden, wie ich es will.

    [COLOR=#DD0000][FONT=monospace]

    [/FONT][/COLOR]

  • Bei Eingabe von "[COLOR=#DD0000][FONT=monospace]'posts_per_page' [/FONT][/COLOR][COLOR=#007700][FONT=monospace]=> [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]'1'[/FONT][/COLOR]" wird nur ein Artikel ausgegeben. Aber leider immer der gleiche. Die Überschrift des "single-posts" ist aber richtig.

    Hier ein Link zu der entsprechenden Seite (single-foods.php):
    http://fewo-wesemann.de/landhaus-wp/foods/la-cholita/

    Hier eine Übersicht der Artikel die Ausgegeben werden sollen:
    http://fewo-wesemann.de/landhaus-wp/speisekarte/

    Aber ich gucke mir auch deinen Link noch einmal an...

    Aber hier noch einmal das gesamte Script (bzw. ein Großteil davon) dieses Single-Posts:

    Einmal editiert, zuletzt von boriginal (19. November 2012 um 02:14)

  • Also das dieses Script, das ich nicht verstehe, an der Stelle ziemlich falsch aufgehoben ist, weiß ich auch. Aber mir fehlt das PHP-Verständnis, um die passende Alternative zu formulieren.

    Es ist so: Lasse ich diesen Part ganz raus, wird jeder Artikel in dieser custom Kategorie nahezu so angezeigt, wie ich es möchte. Nur bewirt dann dieser Part einfach nichts:

    PHP
    <?php if ($price<>''): ?>                                                                                <span class="price"><?php echo $price ?></span>

    Das Preis wird offenbar nicht gefunden.

    Dann habe ich mir gedacht, dass es irgendwas mit diesen unverständlichen Zeilen zu tun haben muss. Tatsächlich tauchte der Preis dann auf. Leider aber zusätzlich auch alle kompletten Artikel in dieser Kategorie.

    Letztendlich geht es nur darum, dass diese Seite auch den Preis abruft, den ich im Admin für diesen Custom-Post angelegt habe.

    Ich stelle mir das prinzipiell einfach vor - sofern man PHP wirklich kann. Ich fummel nur im Script rum, lerne stetig etwas dazu, aber kann leider nicht ansatzweise behaupten, dass ich PHP beherrsche...

    Kann man mir dennoch helfen?

  • Ist vermutlich was für die Jobbörse, aber du kannst gerne mal die orignal single foods posten(vollständig) und uns dann sagen was du dort anders haben willst

    Digitaler Rucksack Nomade

  • Danke für die Hilfe.

    Kurz gesagt, geht es eigentlich um Folgendes:
    Ich bin dabei ein Theme für Restaurants umzugestalten. Natürlich gibt es ein Costum-Post-Template für die Speisekarte. Das findet ihr hier:

    PHP
    <?php/*Template Name: Foods2*/get_header();?>                <div id="content">                        <div id="content-top" <?php if (get_option('fl_sidebar') =='Left'): echo "class=\"left\""; endif; ?>></div>                        <div id="content-back" class="clearfix <?php if (get_option('fl_sidebar') =='Left'): echo "left"; endif; ?>">                                <div id="main-content" <?php if (get_option('fl_sidebar') =='Left'): echo "class=\"alignright\""; endif; ?>>                                        <article class="static-page">                                                <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>                                                <h1 id="main-title"><?php the_title(); ?></h1>                                                <?php the_content(); ?>                                                <?php endwhile; ?>                                        </article>                                        <ul class="list-foods-2 clearfix">                                                <?php                                                if (get_option('fl_menus_order')=='Oldest First') :                                                        $loop = new WP_Query(array('post_type' => 'foods', 'posts_per_page' => '-1', 'order' => 'ASC'));                                                elseif (get_option('fl_menus_order')=='Alphabet') :                                                        $loop = new WP_Query(array('post_type' => 'foods', 'posts_per_page' => '-1', 'order' => 'ASC', 'orderby' => 'title'));                                                else :                                                        $loop = new WP_Query(array('post_type' => 'foods', 'posts_per_page' => '-1'));                                                endif;                                                while ( $loop->have_posts() ) : $loop->the_post();                                                        $custom = get_post_custom($post->ID);                                                        $price = $custom["price"][0];                                                        $additional_1 = $custom["additional_1"][0];                                                        $additional_price_1 = $custom["additional_price_1"][0];                                                        $additional_2 = $custom["additional_2"][0];                                                        $additional_price_2 = $custom["additional_price_2"][0];                                                        $additional_3 = $custom["additional_3"][0];                                                        $additional_price_3 = $custom["additional_price_3"][0];                                                        $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), array( 650,400 ), false, '' ); ?>                                                        <li id="post-<?php the_ID(); ?>" class="foods-2 clearfix">                                                                <div class="title-foods">                                                                        <h3><a  href="<?php the_permalink();?>"><?php the_title() ?></a></h3>                                                                        <?php if ($price<>''): ?>                                                                                <span class="price"><?php echo $price ?></span>                                                                        <?php endif; ?>                                                                </div>                                                                <div class="img-foods">                                                                        <div>                                                                        <a href="<?php the_permalink();?>" title="<?php the_title() ?>"><span></span><?php the_post_thumbnail('foods-thumb3', array('alt' => '' )); ?></a>                                                                        </div>                                                                </div>
    
    
                                                                    <div class="foods-info <?php if (($additional_1=='') && ($additional_2=='') && ($additional_3=='')):                                                                echo "full"; endif; ?>">                                                                        <ul class="tag-foods">                                                                                <?php                                                                                  $posttags = get_the_tags();                                                                                  if ($posttags) {                                                                                    foreach($posttags as $tag) {                                                                                      echo '<li>'.$tag->name .'</li>';                                                                                    }                                                                                  }                                                                                ?>                                                                        </ul>                                                                        <?php the_content() ?>                                                                </div>                                                                <?php if (($additional_1=='') && ($additional_2=='') && ($additional_3=='')): ?>                                                                <?php else: ?>                                                                        <div class="foods-option">                                                                        <h4>Optionen</h4>                                                                                <?php if ($additional_1<>''): ?>                                                                                        <h5 class="clearfix"><em><?php echo $additional_1 ?></em> <span><?php echo $additional_price_1 ?></span></h5>                                                                                <?php endif; ?>                                                                                <?php if ($additional_2<>''): ?>                                                                                        <h5 class="clearfix"><em><?php echo $additional_2 ?></em> <span><?php echo $additional_price_2 ?></span></h5>                                                                                <?php endif; ?>                                                                                <?php if ($additional_3<>''): ?>                                                                                        <h5 class="clearfix"><em><?php echo $additional_3 ?></em> <span><?php echo $additional_price_3 ?></span></h5>                                                                                <?php endif; ?>                                                                        </div>                                                                <?php endif; ?>                                                        </li>                                                <?php endwhile; ?>                                        </ul>                                </div>                                <div id="sidebar" <?php if (get_option('fl_sidebar') == 'Left'): echo "class=\"alignleft\""; endif; ?>>                                        <?php get_sidebar(); ?>                                </div>                        </div>                        <div id="content-bottom"></div>                </div>                <?php get_footer(); ?>

    Das gefällt prinzipiell. Eine Sache störte mich jedoch. Man konnte auf einzelne Bilder für Speisen auf dieser Seite klicken und diese dann "Liken". Als Link in Facebook tauchte aber nicht der Link zu der speziellen Speise auf - sondern zur gesamten Speisekarte.

    Also habe ich eine extra PHP für Single-Posts in dieser Kategoeire (bzw. verschiedene Speisen in der Speisekarte).

    Folgt im nächsten Artikel...

  • Das wollte ich ändern und habe eine spezielle Single-Post.php für Einträge in dieser Kategorie bzw. in die Speisekarte angelegt. Auch das funktioniert. Es wird die einzelne Speise angezeigt und diese kann man auch einzeln "Liken". Aber der Preis wird nicht mit angezeigt. Den Preis kann man beim Anlegen von Costum-Posts für die Speisekarte gesondert angeben.

    Wie kriege ich es jetzt hin, dass diese Angabe in dem neu angelegten Skript für die einzelnen Posts für die Speisekarte ausgelesen werden kann?

    PHP
    ... 
    <ul class="list-foods-2 clearfix">                                                <?php                                                if (get_option('fl_menus_order')=='Oldest First') :                                                        $loop = new WP_Query(array('post_type' => 'foods', 'posts_per_page' => '-1', 'order' => 'ASC'));                                                elseif (get_option('fl_menus_order')=='Alphabet') :                                                        $loop = new WP_Query(array('post_type' => 'foods', 'posts_per_page' => '-1', 'order' => 'ASC', 'orderby' => 'title'));                                                else :                                                        $loop = new WP_Query(array('post_type' => 'foods', 'posts_per_page' => '-1'));                                                endif;                                                while ( $loop->have_posts() ) : $loop->the_post();                                                        $custom = get_post_custom($post->ID);                                                        $price = $custom["price"][0];                                                        $additional_1 = $custom["additional_1"][0];                                                        $additional_price_1 = $custom["additional_price_1"][0];                                                        $additional_2 = $custom["additional_2"][0];                                                        $additional_price_2 = $custom["additional_price_2"][0];                                                        $additional_3 = $custom["additional_3"][0];                                                        $additional_price_3 = $custom["additional_price_3"][0];                                                        $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), array( 650,400 ), false, '' ); ?>                                                        <li id="post-<?php the_ID(); ?>" class="foods-2 clearfix">                                                                <div class="title-foods">                                                                        <h3><?php the_title() ?></h3>                                                                        <?php if ($price<>''): ?>                                                                                <span class="price"><?php echo $price ?></span>                                                                        <?php endif; ?>                                                                </div>                                                                <?php if ( has_post_thumbnail() ) : ?>                                                                <div class="img-foods2">                                                                         <div>                                                                         <a href="<?php echo $src[0]?>" data-rel="prettyPhoto" title="<?php the_title() ?>"><span></span><?php the_post_thumbnail('posts-thumb2', array('class' => 'imgframe alignleft')); ?></a>                                                                         </div>                                                                </div>                                                                <?php endif; ?>
    
    
    
    
                                                                    <div class="foods-info2 <?php if (($additional_1=='') && ($additional_2=='') && ($additional_3=='')):                                                                echo "full"; endif; ?>">                                                                        <ul class="tag-foods2">                                                                                <?php                                                                                  $posttags = get_the_tags();                                                                                  if ($posttags) {                                                                                    foreach($posttags as $tag) {                                                                                      echo '<li>'.$tag->name .'</li>';                                                                                    }                                                                                  }                                                                                ?>                                                                        </ul>                                                                        <?php the_content() ?>                                                                </div>
                                                                    <?php if (($additional_1=='') && ($additional_2=='') && ($additional_3=='')): ?>                                                                <?php else: ?>                                                                        <div class="foods-option2">                                                                        <h4>Optionen</h4>                                                                                <?php if ($additional_1<>''): ?>                                                                                        <h5 class="clearfix"><em><?php echo $additional_1 ?></em> <span><?php echo $additional_price_1 ?></span></h5>                                                                                <?php endif; ?>                                                                                <?php if ($additional_2<>''): ?>                                                                                        <h5 class="clearfix"><em><?php echo $additional_2 ?></em> <span><?php echo $additional_price_2 ?></span></h5>                                                                                <?php endif; ?>                                                                                <?php if ($additional_3<>''): ?>                                                                                        <h5 class="clearfix"><em><?php echo $additional_3 ?></em> <span><?php echo $additional_price_3 ?></span></h5>                                                                                <?php endif; ?>                                                                        </div>                                                                <?php endif; ?>                                                        </li>                                                <?php endwhile; ?>                                        </ul>                                        <center>                                         <ul id="social-link2">                                                        <?php if (get_option("fl_blog_tweet")=='true'): ?>                                                        <li>                                                                <a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>                                                        </li>                                                        <?php endif; ?>                                                        <?php if (get_option("fl_blog_plusone")=='true'): ?>                                                        <li>                                                                <div class="g-plusone" data-size="medium"></div>                                                                <script type="text/javascript">                                                                  (function() {                                                                    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;                                                                    po.src = 'https://apis.google.com/js/plusone.js';                                                                    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);                                                                  })();                                                                </script>                                                        </li>                                                        <?php endif; ?>                                                        <?php if (get_option("fl_blog_facebook")=='true'): ?>                                                        <li class="last"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like href="<?php the_permalink() ?>" send="false" layout="button_count" width="40" show_faces="false" font=""></fb:like></li> ...

    So wie es jetzt ist, wird der Preis mit ausgegeben - aber gleichzeitig alle anderen Artikel dieser Kategorie geloopt. Ich will nur den Preis für einen einzelnen Post! Wie kriege ich das hin?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!