簡體   English   中英

如何將自定義 function 添加到 wordpress 站點主題?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM