2017-09-30 52 views
0

我是一個編碼的初學者。我正在使用海狸生成器主題的WordPress網站上工作。我的挑戰是在用戶登錄時顯示登錄表單(當用戶未登錄時)和用戶名稱,並顯示在具有「標題文本」類的標題的特定區域。 這裏是位於文件我的PHP代碼名爲 「file.php」使用jquery顯示一個php腳本結果在一個div

<?php 
 
if(is_user_logged_in()) { 
 
\t $user = wp_get_current_user(); 
 
\t $var1 = "<p>Welcome <?php echo $user->display_name; ?></p> 
 
\t \t \t <p><a href='/login/login.php?logout=true'>Click here to log out</a></p>"; 
 
\t $var2 = "<form action='login.php' method='post'> 
 
\t \t \t <input type='text" autocomplete='off' placeholder='Username' name='username'/> 
 
\t \t \t <input type='text' autocomplete='off' placeholder='Password' name='password'/> 
 
\t \t \t <button type='submit' value='Submit'>Submit</button> 
 
\t \t \t </form>"; 
 
\t echo echo json_encode($var1); 
 
} else { 
 
\t echo echo json_encode($var2); 
 
} 
 
?>

這裏是JavaScript的

<script type="text/javascript"> 
 
jQuery(document).ready(function($){ 
 

 
\t function displayAccess() { 
 
    $.get("login/file.php"); 
 
    return false; 
 
} 
 

 
\t if(<?php echo json_encode($var1); ?>) { 
 
\t \t var variable1 = <?php echo json_encode($var1); ?>; 
 
\t \t document.getElementByClassName("header-text").innerHTML = variable1; 
 
\t } 
 
\t if(<?php echo json_encode($var2); ?>){ 
 
\t  var variable2 = <?php echo json_encode($var2); ?>; 
 
\t  document.getElementByClassName("header-text").innerHTML = variable2; 
 
\t } 
 
}); 
 

 
</script>
我需要幫助糾正我的腳本。謝謝!

+0

它很難幫助時,我們不知道到底是什麼問題!你能不能更新你的問題來解釋你現在遇到的問題? – FluffyKitten

回答

0

在這種情況下,javascript的jquery是沒有必要的,因爲登錄狀態改變重新加載,無論如何。

所有你需要的是在你的PHP代碼的改變:

<?php 
/* put this to your template file (e.g. header.php) */ 

if(is_user_logged_in()) { 
    $user = wp_get_current_user(); 
    /* change $var1 to echo it via html block inside php */ 
    ?> 
    <p>Welcome <?php $user->display_name; ?></p> 
    <p><a href="/login/login.php?logout=true">Click here to log out</a></p> 
    <?php 
    /* cut $var2 because it is not accessible in the else clause */ 
} else { 
    /* 

    paste $var2 here and echo it 

    btw: 
    * For tags that are self-closing, the forward slash should have exactly one space preceding it (https://make.wordpress.org/core/handbook/best-practices/coding-standards/html/#self-closing-elements) 
    * use single or double quotes – make a decision! 

    */ 
    ?> 
    <form action="login.php" method="post"> 
     <input type="text" autocomplete="off" placeholder="Username" name="username" /> 
     <input type="text" autocomplete="off" placeholder="Password" name="password" /> 
     <button type="submit" value="Submit">Submit</button> 
    </form> 
    <?php 
} 
?> 
+0

感謝您重新訂購我的PHP代碼。事實是我正在使用第三方主題(bb主題),並且我可以在模板文件的下一次更新中放棄此片段。 –

+0

我可以直接把它放在模塊中的類「標題文本」,但PHP腳本不會在那裏運行,因爲它是一個html模塊 –

相關問題