从 PHP 获取当前页面 ID 后调用 jQuery 事件

call jquery event after getting the current page id from php

本文关键字:调用 jQuery 事件 ID PHP 获取 当前页      更新时间:2023-09-26

我在Javascript方面的知识不是很好,我使用了从网上获得的示例代码,需要帮助。

我有一个jquery多级菜单,从php(wordpress)获取当前查看的页面ID后,打开菜单的一部分时遇到问题。

我正在使用wordpress自定义帖子类型(分类法)来创建类别和页面,下面是我的代码。

Javascript:

<script type="text/javascript">
$(function() {
    var menu_ul = $('.aside-menu > li > ul'),
        menu_a  = $('.aside-menu > li > a');
    menu_ul.hide();
    menu_a.click(function(e) {
        e.preventDefault();
        if(!$(this).hasClass('active')) {
            menu_a.removeClass('active');
            menu_ul.filter(':visible').slideUp('normal');
            $(this).addClass('active').next().stop(true,true).slideDown('normal');
        } else {
            $(this).removeClass('active');
            $(this).next().stop(true,true).slideUp('normal');
        }
    });
});
</script>

Html 和 PHP:

<ul class="aside-menu">
<?php $parents = get_terms('product_category',array('parent' => 0, 'hide_empty' => false)); ?>
<?php foreach($parents as $parent): ?>
    <li><a href="#"><?php echo $parent->name; ?></a>
        <ul>
        <?php $children = get_terms('product_category',array('parent' => $parent->term_id, 'order' => 'ASC')); ?>
        <?php foreach($children as $child): ?>
            <li><a href="<?php echo get_term_link($child->slug,'product_category'); ?>"><?php echo $child->name; ?></a></li>
        <?php endforeach; ?>
        </ul>
    </li>
    <?php endforeach; ?>
</ul>

我知道如何通过php(wordpress)获取当前页面

<?php echo get_queried_object()->parent == $parent->term_id ? '' : '' ?>

知道我应该怎么做才能告诉javascript打开菜单的部分吗?

提前谢谢。

您将

<?php if(get_queried_object()->parent == $parent->term_id): ?>
<script>
 yourJavaScriptFunction(<?php echo $parent->term_id; ?>);
</script>
<?php endif; ?>

更新:在文件的某个位置...

<script>
function yourJavaScriptFunction(data) {
 alert("This data is from Ajax: " + data);
}
</script>