Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Facebook插件的WordPress主题的page.php中,在哪里添加JavaScript SDK代码?_Javascript_Php_Wordpress_Facebook - Fatal编程技术网

在Facebook插件的WordPress主题的page.php中,在哪里添加JavaScript SDK代码?

在Facebook插件的WordPress主题的page.php中,在哪里添加JavaScript SDK代码?,javascript,php,wordpress,facebook,Javascript,Php,Wordpress,Facebook,我不确定Facebook为Facebook插件提供的代码在哪里添加到我的page.php 这是我的原始页面。php: 这是Facebook插件代码: <div id="fb-root"></div> <script> (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getEl

我不确定Facebook为Facebook插件提供的代码在哪里添加到我的page.php

这是我的原始页面。php:


这是Facebook插件代码:

<div id="fb-root"></div>
        <script>
            (function(d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) return;
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
            fjs.parentNode.insertBefore(js, fjs);
            }(document, 'script', 'facebook-jssdk'));
        </script>

(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/sdk.js#xfml=1&version=v2.5”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
我问主题支持在哪里插入Facebook插件代码,他们回答:

在body选项卡之后,我们加入了一个动作挂钩:do_action('before'); 在您的子主题中创建一个函数,添加所需的代码并将其挂接到上面的操作钩子。 大概是这样的: 函数任意_name(){ 将代码粘贴到此处(如果是HTML,则正确使用php的开始/结束标记) } 添加动作('before','any_name')

我没有看到任何身体标签

如果我在这行下面插入Facebook插件代码正确吗

<?php do_action( 'spacious_before_body_content' ); ?>

所以看起来是这样的:

<?php 
/**
* Theme Page Section for our theme.
*
* @package ThemeGrill
* @subpackage Spacious
* @since Spacious 1.0
*/
?>

<?php get_header(); ?>

<?php do_action( 'spacious_before_body_content' ); ?>

    <div id="fb-root"></div>
        <script>
            (function(d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) return;
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
            fjs.parentNode.insertBefore(js, fjs);
            }(document, 'script', 'facebook-jssdk'));
        </script>

<div id="primary">
    <div id="content" class="clearfix">
        <?php while ( have_posts() ) : the_post(); ?>

            <?php get_template_part( 'content', 'page' ); ?>

            <?php
            do_action( 'spacious_before_comments_template' );
// If comments are open or we have at least one comment, load up the comment template
            if ( comments_open() || '0' != get_comments_number() )
                comments_template();                    
            do_action ( 'spacious_after_comments_template' );
            ?>

        <?php endwhile; ?>

    </div><!-- #content -->
</div><!-- #primary -->

<?php spacious_sidebar_select(); ?>

<?php do_action( 'spacious_after_body_content' ); ?>

<?php get_footer(); ?>

(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/sdk.js#xfml=1&version=v2.5”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
如果你也能提供一个简短的解释或链接,我可以阅读关于如何和为什么,如果将是一个很好的机会,我学习一些新的东西

编辑\u 1: 是我想插入到我网站页面的插件。在订阅时事通讯后,它将被添加到“感谢页面”。您可以尝试设置它并执行“获取代码”,以便看到它所说的内容

为了将插件添加到您的网站,您必须添加2个代码:

  • JavaScript SDK代码(上面称为Facebook插件代码):必须将其添加到.php文件中的某个位置,才能将网站连接到Facebook页面
  • 显示内容的实际代码:您必须将此代码放在希望插件显示的位置,如在帖子、页面或边栏中
  • 我注意到的是,如果我将第一个代码(JavaScript SDK)添加到page.php文件中,那么我只能将第二个代码(显示内容的代码)添加到页面中(例如在侧栏中)。如果我将第一个代码添加到header.php中,我将能够在任何地方添加第二个代码

    问题是,我不知道如何添加第一个代码以及在哪里添加。我的意思是,从财务上讲,我不知道从哪里开始将代码写入.php文件

    编辑2: 好的,这里是我的头的一个练习,我应该把代码粘贴在空格1,空格2还是其他地方

    <body <?php body_class(); ?>>
    --SPACE ONE--
    <?php   do_action( 'before' ); ?>
    --SPACE TWO--
    <div id="page" class="hfeed site">
        <?php do_action( 'spacious_before_header' ); ?>
        <header id="masthead" class="site-header clearfix">
        </header>
    
    
    --空间二--
    

    关于钩子,你是对的,它让我很困惑!啊哈

    通常,当您在任何页面上添加Facebook脚本时,只需将代码片段放在body标记之后即可。wordpress页面将添加到body标签中,因此您在上面所做的工作将很好

    在body选项卡之后,我们加入了一个动作挂钩:do_action('before');在您的子主题中创建一个函数,添加所需的代码并将其挂接到上面的操作钩子。类似这样的内容:函数any_name(){将代码粘贴到这里(如果是HTML,那么请正确使用php标记的开始/结束)}添加_操作('before','any_name')

    但是这里提到的是一个更好的方法。。你需要为你的facebook脚本创建一个钩子。这样,您只需调用该操作,而不必在每次将代码段添加到每个页面时复制它

    有关更多信息,请查看Facebook SDK文档

    不能使用display:none或visibility:hidden隐藏fb根元素,否则SDK的某些部分将无法在Internet Explorer中正常工作

    SDK将元素插入fb根目录中,这些元素将相对于主体或靠近页面顶部的元素进行定位。如果fb根元素不在位置为“绝对”或“位置:相对”的元素内,则效果最好。如果必须将fb根元素放置在已定位元素的内部,则还应将其放置在靠近主体顶部的位置,否则SDK的某些部分可能无法正常工作


    对不起,我不是程序员,我不明白你在说什么。我已经读了这本书,但没有找到任何能帮助我的东西。Facebook告诉我将上面提到的名为Facebook插件代码的代码添加到page.php文件中。实际上,我可以将其添加到header.php中。问题是,我不知道在哪里。我试图搜索如何制作一个钩子,但找不到任何简单的指南来创建这个钩子。我只想在WordPress.Ow.上为我的孩子主题添加代码。。Facebook插件已经有了可以集成的代码。而且它可以在Wordpress页面上使用。。顺便问一下,你想添加什么facebook插件?您希望插件添加哪些页面?请查看第一篇文章@severinolorillajrwell底部的编辑1,您可以在header.php中添加javascript代码(第一部分),并将其粘贴到打开的
    标记之后。然后在你想要添加插件的模板上(比如感谢页面,只需添加html(第二部分)。就这样!不要费心添加钩子和wordpress操作,这只会让你感到困惑。:)请参阅第一篇文章底部的编辑2
    <body <?php body_class(); ?>>
    --SPACE ONE--
    <?php   do_action( 'before' ); ?>
    --SPACE TWO--
    <div id="page" class="hfeed site">
        <?php do_action( 'spacious_before_header' ); ?>
        <header id="masthead" class="site-header clearfix">
        </header>