2016-04-07 25 views
-1

Ich verwende das übergroße jquery-Skript, um verschiedene gleitende Hintergründe für meine Wordpress-Seite zu verwenden.Javascript in PHP funktioniert nicht

Jetzt wollte ich verschiedene Folien für jede Website erstellen und benötigen ein PHP auf Anfrage.

Mein Code:

<?php if (is_page(array('Restaurant'))) { 
    echo"<script type="text/javascript"> 
     jQuery(function($) { 

      $.supersized({ 

       // Functionality 
       slide_interval: 9000, // Length between transitions 
       transition: 1, // 0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 7-Carousel Left 
       transition_speed: 1400, // Speed of transition 

       // Components       
       slide_links: 'blank', // Individual links for each slide (Options: false, 'num', 'name', 'blank') 
       slides: [ // Slideshow Images 
        { 
         image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg.jpg', 
         title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
        }, { 
         image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg2.jpg', 
         title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
        }, { 
         image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg3.jpg', 
         title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
        }, 
       ] 
      }); 
     }); 
    </script>";} 
?> 

Aber nachdem Sie den Code in meine .php-Datei speichern die Seite nicht mehr richtig laden. Wenn ich den php if Antrag entferne, funktioniert alles wieder gut.

+2

Haben Sie die Konsole überprüft, um zu sehen, welche JS-Fehler gibt es? –

+0

Sie verwenden Zitate in Anführungszeichen ... Sie haben also einen PHP-Fehler. Da Sie wahrscheinlich error_reporting deaktiviert haben, erhalten Sie eine leere Seite. –

Antwort

5

Zuerst habe ich Ihnen das Echo des Codes entfernen vorschlagen kann.

<?php if (is_page(array('Restaurant'))) { ?> 
<script type="text/javascript"> 

     jQuery(function($){ 

      $.supersized({ 

       // Functionality 
       slide_interval   : 9000,  // Length between transitions 
       transition    : 1,   // 0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 7-Carousel Left 
       transition_speed  : 1400,  // Speed of transition 

       // Components       
       slide_links    : 'blank', // Individual links for each slide (Options: false, 'num', 'name', 'blank') 
       slides     : [   // Slideshow Images 
                {image : 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg.jpg', title : 'Hotel-Pension-Restaurant Zur Traube in Altenahr'}, 
                {image : 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg2.jpg', title : 'Hotel-Pension-Restaurant Zur Traube in Altenahr'}, 
                {image : 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg3.jpg', title : 'Hotel-Pension-Restaurant Zur Traube in Altenahr'}, 
              ] 
      }); 
     }); 

    </script> 
<?php } ?> 

Sie haben eine optimale Sichtbarkeit des Codes und keine Anführungszeichen. Überprüfen Sie Ihre Konsole mit dieser Methode und sagen Sie uns, wenn Sie einen Fehler haben

+0

das löst auch das Problem, aber der Grund, warum es aufgetreten ist, ist nicht adressiert oder wies –

+0

Vielen Dank! Aber wenn ich eine else-Anweisung verwenden möchte, brauche ich wieder ein Echo oder nicht? – tymz96

+0

Mit dieser Methode wird er merken, haben Sie das Anführungszeichen Problem, so ist es eine gute Lösung, dies zu vermeiden. Hier –

1

Änderung <script type="text/javascript"><script type='text/javascript'> Sie doppelte Anführungszeichen verwenden - die gleichen, die öffnen und schließen Sie die echo Anweisung

2

Ihr Code funktioniert nicht, weil Sie Ihre Zeichenfolgen nicht entgangen sind.

Wenn Sie doppelte Anführungszeichen als öffnende und schließende Anführungszeichen verwenden, müssen Sie andere doppelte Anführungszeichen in ihnen entfernen.

Dies gilt auch für einfache Anführungszeichen, dh Sie müssen einfache Anführungszeichen, die sich in Strings befinden, die einfache Anführungszeichen als öffnende und schließende Anführungszeichen verwenden, ausschließen.

HINWEIS: Sie müssen doppelte Anführungszeichen, die sich in einfache Anführungszeichen und einfache Anführungszeichen innerhalb von Anführungszeichen befinden, nicht umgehen.

Sie benötigen eine Flucht Ihre Angebote wie folgt aus:

<?php 
    if(is_page(array('Restaurant'))) { 
    echo("<script type=\"text/javascript\"> 
     jQuery(function($) { 
     $.supersized({ 
      // Functionality 
      slide_interval: 9000, 
      // Length between transitions 
      transition: 1, 
      // 0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 7-Carousel Left 
      transition_speed: 1400, 
      // Speed of transition 
      // Components       
      slide_links: 'blank', 
      // Individual links for each slide (Options: false, 'num', 'name', 'blank') 
      slides: [ 
      // Slideshow Images 
      { 
       image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg.jpg', 
       title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
      }, { 
       image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg2.jpg', 
       title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
      }, { 
       image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg3.jpg', 
       title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
      } 
      ] 
     }); 
     }); 
    </script>"); 
} ?> 

Sie können auch echo entfernen insgesamt wie folgt aus:

<?php if(is_page(array('Restaurant'))) { ?> 
    <script type="text/javascript"> 
    jQuery(function($) { 
     $.supersized({ 
     // Functionality 
     slide_interval: 9000, 
     // Length between transitions 
     transition: 1, 
     // 0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 7-Carousel Left 
     transition_speed: 1400, 
     // Speed of transition 
     // Components       
     slide_links: 'blank', 
     // Individual links for each slide (Options: false, 'num', 'name', 'blank') 
     slides: [ 
      // Slideshow Images 
      { 
      image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg.jpg', 
      title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
      }, { 
      image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg2.jpg', 
      title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
      }, { 
      image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg3.jpg', 
      title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
      } 
     ] 
     }); 
    }); 
    </script> 
<? } ?> 

Um den Code zu machen sehen ein bisschen aufgeräumter Sie die Kommentare entfernen können wie dies:

<?php if(is_page(array('Restaurant'))) { ?> 
    <script type="text/javascript"> 
    jQuery(function($) { 
     $.supersized({ 
     slide_interval: 9000, 
     transition: 1, 
     transition_speed: 1400, 
     slide_links: 'blank', 
     slides: [ 
      { 
      image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg.jpg', 
      title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
      }, { 
      image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg2.jpg', 
      title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
      }, { 
      image: 'http://www.hotel-zur-traube.eu/wp-content/themes/hotelzurtraube/images/bg3.jpg', 
      title: 'Hotel-Pension-Restaurant Zur Traube in Altenahr' 
      } 
     ] 
     }); 
    }); 
    </script> 
<? } ?>