首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Uncaught : wp.apiFetch不是函数

Uncaught : wp.apiFetch不是函数
EN

WordPress Development用户
提问于 2018-11-28 19:12:44
回答 1查看 4.2K关注 0票数 0

我正在使用最新的Gutenberg和WP,直到上周,下面的代码仍按预期工作。

代码语言:javascript
复制
const postSelections = [];

const allPosts = wp.apiFetch({path: "/wp/v2/featured-post"}).then(fps => {
    postSelections.push({label: "Select a Post", value: 0});
    $.each( fps, function( key, val ) {
        postSelections.push({label: val.title.rendered, value: val.id});
    });
    return postSelections;
});

突然之间,我得到的wp.apiFetch不是函数错误。

有人知道为什么吗??

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2018-11-28 20:31:37

正如@Alvero在注释中指出的那样,您现在需要指定wp,而不是仅仅在块注册中提供wp。

代码语言:javascript
复制
$index_js = 'sample-post/index.js';
wp_register_script(
    'sample-post-block-block-editor',
    plugins_url( $index_js, __FILE__ ),
    array(
        'wp-blocks',
        'wp-i18n',
        'wp-element',
        'wp-api-fetch',
    ),
    filemtime( "$dir/$index_js" )
);

然后在您的块中,使用wp.apiFetch函数调用它:

代码语言:javascript
复制
var registerBlockType = wp.blocks.registerBlockType,
    el = wp.element.createElement,
    __ = wp.i18n.__,
    apiFetch = wp.apiFetch;

const postSelections = [];

const allPosts = apiFetch({path: "/wp/v2/featured-post"}).then(fps => {
    postSelections.push({label: "Select a Post", value: 0});
    $.each( fps, function( key, val ) {
        postSelections.push({label: val.title.rendered, value: val.id});
    });
    return postSelections;
});
票数 3
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/320483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档