Я пытаюсь решить простую проблему. Получите верхний и нижний колонтитулы из 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?