在WordPress中包含Facebook Javascript SDK

时间:2019-11-09 作者:sialfa

我想在我的wordpress自定义主题中包含Facebook JavaScript SDK。我可以在标准的MVC应用程序或PHP网站上完成,但使用wordpress我不知道如何继续。

通常使用enqueue 作用我想直接将其添加到<head> 我的标签header.php 文件,但我不确定这是否有效。我已经阅读了FB文档,他们建议使用插件,但如果我不想使用插件,最好的方法是什么?

1 个回复
最合适的回答,由SO网友:Cas Dekkers 整理而成

我想你指的是header.php 主题的文件。在这种情况下,只需将此函数附加到主题的functions.php 文件:

function enqueue_facebook_javascript_sdk(): void {
    wp_enqueue_script( \'facebook-javascript-sdk-initializer\', get_template_directory_uri() . \'/path/to/your/initializer.js\' );
    wp_enqueue_script( \'facebook-javascript-sdk\', \'https://connect.facebook.net/en_US/sdk.js\', array(), null );
    return;
}
add_action( \'wp_enqueue_scripts\', \'enqueue_facebook_javascript_sdk\' );
第一个JavaScript文件应包含您的the initializer from the docs, 包含您的appId.

此外,脚本需要asyncdefer 属性。为了添加这些,我们在functions.php:

function add_async_attribute( string $tag, string $handle ): string {

    if ( \'facebook-javascript-sdk\' !== $handle ) {
        return $tag;
    }

    return str_replace( \' src\', \' async defer src\', $tag );
}
add_filter( \'script_loader_tag\', \'add_async_attribute\', 10, 2 );
请让我知道这是否适合你。

相关推荐

如何从JavaScript访问自定义POST元数据

我已经为我的WooCommerce产品创建了自定义元字段。然而,我使用的插件(高级Woo搜索)是用JavaScript编写的,我需要访问PHP变量。我用过wp_localize_script() 这样做。然而,在前端,没有显示我的数据。以下是我的PHP代码: function js_enqueue_scripts() { global $post; $text2 = get_post_meta( $post->ID, \'_load_speed_field\',