2016-08-06 11 views
0

Ich habe eine benutzerdefinierte Seite publish.php in Stammverzeichnis der VorlageWie verwendet man Wordpress PHP-Funktionen in Javascript?

<?php 
    /** 
     ** 
     * Template Name: publish 
     * 
     * @package WordPress 
     * @subpackage Twenty_Fourteen 
     * @since Twenty Fourteen 1.0 
     */ 
     ?> 
    <link rel="stylesheet" type="text/css" href="../Asset/css/style.css"> 
    <script src="../Asset/scripts/script.js"></script> 
    <?php 
    get_header(); ?> 
    <div class="col-md-12"> 
     <div style="background-color: #D3D3D3;height:1px;"></div> 
     </div> 
    <div id="primary" class="content-area"> 
    <main id="main" class="site-main site-main--single" role="main"> 
    <div class="container-fluid"> 

    <div class="col-md-5"></div> 

    <div class="col-md-2"> 
    <div align="center" > 
     <select id="typeselect" name="value" onChange="OnChangeSelect()"> 
      <option value="1">Featured</option><br /> 
      <option value="2">General</option><br /> 
     </select> 
    </div> 
     </div><!-- type select--> 

     <div class="col-md-12"> 
     <div style="background-color: #D3D3D3;height:1px;margin:5px"></div> 
     </div> 

    <div id="formbody" class="col-md-12"> 
     <!-- include php files here --> 
    </div> 

    <script>OnChangeSelect()</script> 
    </div><!-- container --> 
    </main> <!-- #main --> 
    </div> <!-- #primary --> 

<?php //get_sidebar(); ?> 
<?php get_footer(); ?> 

die

an folgenden JavaScript-Links
var val; 
function OnChangeSelect() 
{ 
    var e=document.getElementById("typeselect"); 
    val = e.value; 
    if(val==2) 
    { 
     document.getElementById("formbody").innerHTML ="<?php get_template_part("+"publish_game_nr"+");?>"; 
    } 
    else 
    { 
     document.getElementById("formbody").innerHTML ="<?php get_template_part("+"publish_game_fe"+");?>"; 
    } 
} 

Ich mag innerhalb von

<div id="formbody" class="col-md-12"> 
    <!-- include php files here --> 
</div> 

den Inhalt ändern, in publish.php basierend auf der im Dropdown-Menü ausgewählten Option

so habe ich zwei seprate PHP-Dateien publish_game_nr.php und publish_game_fe.php

in javascript versuche die innerhtml von div enthalten diese PHP Dateien wordpress

get_template_part() 

aber die Dateien nicht geladen werden unter Verwendung geändert werden. wenn ich die Funktion direkt in div Tag verwende. dann werden die Dateien erfolgreich geladen

Was ist der richtige Weg, dies zu tun?

Antwort

0

Dieses Versuchen:

document.getElementById("formbody").innerHTML ="<?php get_template_part('slug'); ?>"; 
+0

bereits getan hat, funktioniert nicht –

0

diese

so geändert leicht war ich die formbody div

<div id="formbody" class="col-md-12"> 
    <div style="display:none" id="featured-div"> 
    <?php get_template_part("publish_game_fe") ?> 
    </div> 
    <div style="display:block" id="general-div"> 
    <?php get_template_part("publish_game_nr") ?> 
    </div> 
</div> 

und verwendet die folgenden JavaScript-Code

function OnChangeSelect() 
{ 
    var e=document.getElementById("typeselect"); 
    var val = e.value; 
      if(val==1){ 
     document.getElementById("general-div").style.display="block"; 
     document.getElementById("featured-div").style.display="none"; 
     } 
     else{ 
     document.getElementById("general-div").style.display="none"; 
     document.getElementById("featured-div").style.display="block"; 
     } 
}