在index.php上不起作用,但在单帖的页面上起作用

时间:2016-05-07 作者:Anuroop Kuppam

我试图在我的wordpress中使用mathJax。根据mathjax的文档,需要在标题中提到mathjax脚本url。php。这正是我所做的。现在这是标题中的head部分。php看起来像:

<head>
   <meta charset="<?php bloginfo( \'charset\' ); ?>" />
   <title><?php wp_title( \'|\', true, \'right\' ); ?></title>
   <script type="text/x-mathjax-config">
        MathJax.Hub.Config({
        extensions: ["tex2jax.js"],
        jax: ["input/TeX", "output/HTML-CSS"],
        tex2jax: {
           inlineMath: [ [\'$\',\'$\'], ["\\\\(","\\\\)"] ],
           displayMath: [ [\'$$\',\'$$\'], ["\\\\[","\\\\]"] ],
           processEscapes: true
        },
        "HTML-CSS": { availableFonts: ["TeX"] }
       });
    </script>
    <link rel="profile" href="http://gmpg.org/xfn/11" />
    <link rel="pingback" href="<?php bloginfo( \'pingback_url\' ); ?>" />
    <!--[if lt IE 9]>
    <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script>
    <script type="text/javascript"src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
   </script>
      <![endif]-->
  <?php wp_head(); ?>
</head>
此javascript未加载到我网站的index.php 页面,但其加载在single posts page. 可能有什么问题。我错过了什么?

2 个回复
SO网友:Tony Djukic

让脚本排队的正确方法如下:

function mathJax_scripts() {
    wp_enqueue_script( \'mathjax-js\', http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML\', array(), \'2.7.1\', false );
}
add_action( \'wp_enqueue_scripts\', \'mathJax_scripts\' );
我添加了版本号(2.7.1),并将最后一个参数翻转为“false”-最后一个参数要求“将脚本添加到页脚?”,true 表示是,false 表示否。

然后您需要将内联代码添加到wp_head():

function mathJax_inlineScript() {
    <script type="text/x-mathjax-config">
        MathJax.Hub.Config({
            extensions: ["tex2jax.js"],
            jax: ["input/TeX", "output/HTML-CSS"],
            tex2jax: {
                inlineMath: [ [\'$\',\'$\'], ["\\\\(","\\\\)"] ],
                displayMath: [ [\'$$\',\'$$\'], ["\\\\[","\\\\]"] ],
                processEscapes: true
            },
            "HTML-CSS": { availableFonts: ["TeX"] }
        });
    </script>
<?php }
add_action( \'wp_head\', \'mathJax_inlineScript\' , 999 );
在添加操作中,我将其设置为999-您可以调整并微调它,以使内联脚本显示在wp_head().

希望这有帮助。

SO网友:Anuroop Kuppam

我能理解问题是什么。首先是声明<script type="text/javascript"src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> 在一个if 对于浏览器IE,即使在删除后,我也面临同样的问题,因为我启用了WP缓存,这是缓存我的网页。因此,当您测试wp安装时,我建议停用缓存。