PHP 中的 JavaScript(wordpress)

标签 javascript php wordpress web

我创建了一个新的 WordPress 主题。当我将其移至 IIS Web 服务器时,它失败了。

这是我的代码:

<?php get_header(); ?>
<h2><?php the_title();?></h2>
<div class="infoBox" id="infoTxt">
    <?php
        if(get_the_title() == 'Home'){
        $page = get_page_by_title( get_the_title());
        $Pagecontent = apply_filters('the_content', $page->post_content); 
        $ContentArray = explode(";",$Pagecontent);
        echo $ContentArray[count($ContentArray) -1];    
        <script type="text/javascript">
            var info = <?php echo json_encode($ContentArray) ?>;
            document.getElementById('infoTxt').innerHTML = info[1];
            setInterval(function()
            {
                var i = Math.round((Math.random()) * info.length);
                if (i == info.length) --i;
                   document.getElementById('infoTxt').innerHTML = info[i];
            }, 5 * 1000); 
            </script>               
<?php
    }
    else{
        $page = get_page_by_title( get_the_title());
        $content = apply_filters('the_content',            $page->post_content); 
            $InfoboxStr = substr($content, 0, strpos($content, '@:'));
        echo $InfoboxStr;       
    }

?>
</div><!--End InfoTxt-->
<div id="Flagbox">
<ul style="list-style-type:none;">
    <li><a href="www.google.dk"><img class="flagContainer" alt="English" src="<?php bloginfo('stylesheet_directory'); ?>/img/GbFlag.png""/></a></li>
    <li><a href="www.google.dk"><img class="flagContainer" alt="Deutsch" src="<?php bloginfo('stylesheet_directory'); ?>/img/GmFlag.png""/></a></li>
    <li><a href="www.google.dk"><img class="flagContainer" alt="French" src="<?php bloginfo('stylesheet_directory'); ?>/img/FrFlag.png""/></a></li>
</ul>
</div> <!-- end Flag Box-->
<div style="margin-bottom:25%;">
</div>
<?php get_footer(); ?>

这是因为 JavaScript,但我在修复此问题时遇到了一些问题,我首先尝试回显 JavaScript,但随后脚本的第一行出现问题,即:var info = <?php echo json_encode($ContentArray) ?>;

当我离开时。尝试过

Echo 'var info = ' + echo json_encode($ContentArray) ?> + ";"

我刚刚收到 http 500 错误。你们中有人知道我可以尝试解决我的问题吗

最佳答案

如果您想使用<Script>标签,你需要关闭php标签,在这里:

echo $ContentArray[count($ContentArray) -1];    
        <script type="text/javascript">

所以它应该看起来像这样:

?>
<script>
[..]
</script>
<?php

最佳实践是,您应该将 JS 放在文件的顶部或底部,或者放在另一个文件中。

关于PHP 中的 JavaScript(wordpress),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39689828/

相关文章:

PHP PDO 包装类实现

css - WP + super 鱼 : Child menu item has hover/active applied when on parent page

php - 如何从搜索结果中排除 wordpress 页面模板(自定义模板)?

javascript - 如何将 div 宽度设置为等于 Javascript 变量?

javascript - 在 JQuery 选择器中添加变量时出现问题

php - 错误:警告:mysqli_query()至少需要2个参数,其中1个在

php - 即使产品在 WooCommerce 购物车中添加了两次,也将所有项目设置在独立的行中

javascript - 如何使用 InDesign 脚本保存文本文件?

javascript - Vue.js v-for 数组上的循环不起作用(零元素,非零长度)

javascript - js 注入(inject)扰乱了我所有的代码