получить заголовок и нижний колонтитул WordPress через WP_rest_api - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь решить простую проблему. Получите верхний и нижний колонтитулы из WordPress и отобразите их в представлении laravel.

Пока я создал этот класс:

namespace App;

class WpApi {
    public static $url = 'https://mytesturl.com/wp-json/getHeader';



    public static function test()
    {
        $url = self::$url;
        return collect( self::getJson( $url ) );
    }
    protected static function getJson( $url)
    {
        $response = file_get_contents($url, false);
        return json_decode( $response );
    }
}

В домене WordPress mytesturl.com я добавил это в файл functions. php в childtheme:

function my_awesome_func() {
  //$header = get_header();
  //return $header;
  return "hello";
}

add_action('rest_api_init', function () {
  register_rest_route('getHeader', array(
    'methods' => 'GET',
    'callback' => 'my_awesome_func',
  ) );
} );

Просто чтобы убедиться, что у меня есть результат от доступа к конечной точке. Вот где все это терпит неудачу.

Вместо того, чтобы видеть «привет» в json объекте, я вижу структуру вызова API:

Illuminate\Support\Collection {#851 ▼
  #items: array:3 [▼
    "namespace" => "getHeader"
    "routes" => {#936 ▼
      +"/getHeader": {#1209 ▼
        +"namespace": "getHeader"
        +"methods": array:1 [▼
          0 => "GET"
        ]
        +"endpoints": array:1 [▼
          0 => {#854 ▼
            +"methods": array:1 [▼
              0 => "GET"
            ]
            +"args": {#1258 ▼
              +"namespace": {#855 ▼
                +"required": false
                +"default": "getHeader"
              }
              +"context": {#597 ▼
                +"required": false
                +"default": "view"
              }
            }
          }
        ]
        +"_links": {#1266 ▶}
      }
    }
    "_links" => {#959 ▼
      +"up": array:1 [▼
        0 => {#1211 ▼
          +"href": "https://mytesturl.com/wp-json/"
        }
      ]
    }
  ]
}

Я вызываю класс WpApi в laravel в контроллере, подобном следующему:

$test = WpApi::test();
dd($test);

Итак, как я могу получить результат маршрута («привет») вместо того, чтобы видеть структуру API?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...