簡體   English   中英

如何在JavaScript中使用php函數?

[英]How do I use php functions in javascript?

情況:我正在建立一個Wordpress網站。 向下滾動頁面( http://deerfielddesigns.com.mlseo.net/ ),菜單將“固定”在頁面頂部。 當我登錄到wordpress時,儀表板管理欄將覆蓋菜單。 我想在登錄時(而不是退出時)為菜單創建一個不同的類。

碼:

    if ( direction === 'down' ) {

        $('#main-header').addClass( 'et-fixed-header' );
    } else {
        $('#main-header').removeClass( 'et-fixed-header' );
    }

我想在其中插入“ if(is_user_logged_in())”語句以更改類輸出,但是我對JavaScript並不太了解,如果它與PHP配合也不錯。 有人對我需要做些什么有任何見解嗎? 謝謝大家!

如果這不是AJAX驅動的登錄系統,只需打開header.php文件並執行以下操作

$the_class = is_user_logged_in() ? 'logged-in-class' : 'logged-out-class';

然后找到您的main-header並執行所需的操作。

<header id="main-header" class="<?php echo $the_class;">

如果是ajax驅動的登錄系統,則需要了解如何使用wordpress的add_action ,但這是一個完全不同的問題的答案。

必要時向所需的php函數發出ajax請求。 您可以使用各種JS庫(如jQuery,YUI等)的ajax功能。

PHP是一種服務器端語言(很可能會生成Javascript)。 Javascript位於瀏覽器中。

簡短的答案是“您不能輕易地從JS調用PHP”。

從JavaScript識別用戶是否已登錄的簡單方法是使用其狀態填充javascript變量。 在主題的header.php中,添加:

<script type="text/javascript">
    var is_logged_in = <?php echo json_encode(is_user_logged_in()) ?>;
</script>

然后,在其他地方的javascript中,您可以使用:

if (is_logged_in) {
   //....
}

如果您在php文件中編寫內聯JavaScript,則可以執行以下操作:

<?php  // some php code ?>

<script type="text/javascript">

<?php if ( is_user_logged_in() ) { ?>
    // Place some javascript here
<?php } else { ?>
    // Place some javascript here
<?php ?>

</script>

<?php  // some php code ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM