[英]How to add a custom function to a wordpress site theme?
我想將自定義 function 添加到我的 wordpress 站點功能。php 文件如下:
//Test adding basic REST API custom endpoint.
/**
* Grab latest post title by an author!
*
* @param array $data Options for the function.
* @return string|null Post title for the latest,
* or null if none.
*/
function my_awesome_func( $data ) {
$posts = get_posts( array(
'author' => $data['id'],
) );
if ( empty( $posts ) ) {
return null;
}
return $posts[0]->post_title;
}
add_action( 'rest_api_init', function () {
register_rest_route( 'walden/v1', '/author/(?P<id>\d+)', array(
'methods' => 'GET',
'callback' => 'my_awesome_func',
) );
} );
但是無論我在哪里粘貼此代碼,它都會導致整個功能失敗,並且所有 rest api 鏈接都會給我錯誤。
我應該將這段代碼粘貼到 functions.php 中的確切位置,這樣它就不會破壞所有其他功能?
從 WordPress 5.5 開始,如果未提供 permission_callback,REST API 將發出 _doing_it_wrong 通知。
<?php
add_action( 'rest_api_init', function () {
register_rest_route( 'walden/v1', '/author/(?P<id>\d+)', array(
'methods' => 'GET',
'callback' => 'my_awesome_func',
'permission_callback' => '__return_true',
) );
} );
我猜你的 register_rest_route function 缺少permission_callback
參數。
如果您提供有關錯誤的更多信息會更好。
我發現唯一的問題實際上是 function 本身的名稱,所以我更改了 function 的名稱,它現在可以正常工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.