我有一个稱為
pronews
的自定義帖子型別
.我在
show_in_rest
註册了
已啟用.我正在使用wordPress 5.5。
然後我得到以下代碼:
export const ProPost = wp.api.models.Post.extend( {
urlRoot: wpApiSettings.root + 'wp/v2/pronews',
defaults: {
type: 'pronews',
},
} );
export const ProPosts = wp.api.collections.Posts.extend( {
url: wpApiSettings.root + 'wp/v2/pronews',
model: ProPost,
} );
const post = new ProPost( {id: 2454} );
console.log( post );
console.log( 'post urlRoot:' + post.urlRoot );
console.log( 'post url:' + post.url );
post.fetch().then( ( response ) => {
console.log( response )
}, ( why ) => {
console.log( why.responseJSON.code )
} );
// Double check that the endpoint is functionnal
fetch( wpApiSettings.root + 'wp/v2/pronews/2454' )
.then( blob => blob.json() )
.then( ( response ) => {
console.log( response.id );
} );
在控製台中,我首先得到:
{…}
_changing: false
_pending: false
_previousAttributes: Object { type: "pronews", id: 2454 }
attributes: Object { type: "pronews", id: 2454 }
changed: Object { }
cid: "c3"
id: 2454
<prototype>: Object { urlRoot: "https://localhost/wp-json/wp/v2/pronews", defaults: {…}, constructor: i()
}
ProNews.js:17:9
post urlRoot:https://localhost/wp-json/wp/v2/pronews ProNews.js:18:9
post url:function(){var e=a.get("apiRoot")+a.get("versionString")+("me"===i?"users/me":i);return _.isUndefined(this.get("id"))||(e+="/"+this.get("id")),e} ProNews.js:19:9
但是Backbone API的請求是针對錯誤的
urlRoot
完成的
:
XHRGET https://localhost/wp-json/wp/v2/posts/2454 [HTTP/1.1 404 Not Found 340ms]
rest_post_invalid_id
對於除錯,使用
window.fetch
的第二个HTTP請求的結果
,表明"自定義帖子型別"的端點存在並且可以正常工作:
XHRGET https://localhost/wp-json/wp/v2/pronews/2454 [HTTP/1.1 200 OK 587ms]
2454
最新回復
- 6月前1 #
相似問題
- wordpress:使用類进行插件開發-公共和私有回撥wordpresscustomposttypeswordpressphpwordpressplugindevelopmentwordpresshookswordpressoop2021-01-02 06:25
- wordpress:如何將自定義HTML添加到存档頁面帖子的內容中?wordpresscustomposttypeswordpressphpwordpressplugindevelopmentwordpressfilterswordpressarchives2020-12-18 08:23
- wordpress:帶有wpi18n的wp_set_script_translations不返迴簡單插件中的已翻译字元串wordpressplugindevelopmentwordpressjavascriptwordpresstranslationwordpresslocalizationwordpresslanguage2020-10-30 23:56
- wordpress:如何从多个Gutenberg侧邊欄控制元件控製元素類?wordpressplugindevelopmentwordpressjavascriptwordpressblockeditor2020-07-12 11:55
- wordpress:機車翻译:未在wp-admin選單中翻译的自定義帖子和自定義分類標簽wordpresspluginswordpresscustomposttypeswordpressplugindevelopmentwordpresscustomtaxonomywordpresstranslation2020-07-08 00:55
實際上,您不必擴充套件
Post
模型(wp.api.models.Post
)或Posts
集合(wp.api.collections.Posts
),因為文件中說:這意味着,您的自定義帖子型別將自動添加到
wp.api.models
和wp.api.collections
列表,即wp.api.models.<key>
和wp.api.collections.<key>
从而<key>
是post型別的子弹 in camel case .因此,在您的情况下,關键是Pronews
—或ProNews
如果帖子型別為pro-news
因此,要訪問模型/集合(或簡稱為帖子),您需要做的所有事情是:
容易,是吗? :)(如果需要,您可以擴充套件帖子型別的模型/集合。例如
const ProPost = wp.api.models.Pronews.extend( ... )
)