вот я снова, раньше имел более сложную проблему, но теперь получил другую (поменьше, думаю).
В файле шаблона есть переменные, используемые как "author_id", "authlink", но в файле контроллера не получает URL автора (но он должен).
В файле шаблона определены переменные как authlink и author_id. Кроме того, в файле контроллера я включил путь к файлу, где используются эти переменные.
<?php
set_include_path(".:/domains/example.com/public_html/.../single-2.php"); //destination to file where's author_id variables either.
function ajax_rental_add_to_cart()
{
if ( STInput::request( 'action' ) == 'rental_add_cart' ) {
$response = array();
$response['status'] = 0;
$response['message'] = "";
$response['redirect'] = '';
$author_id = get_post_field( 'post_author', get_the_ID() );
$authlink = get_author_posts_url($author_id);
if ( $this->do_add_to_cart() ) {
$response['redirect'] = $authlink;
$response['status'] = 1;
wp_send_json($response, 200);
} else {
$message = STTemplate::message();
$response['message'] = $message;
wp_send_json($response, 200);
}
}
}
static function inst()
{
if (!self::$_instance) {
self::$_instance = new self();
}
return self::$_instance;
}
}
STRental::inst()->init();
}
?>
Не уверен, что это static function inst()
связано, но вставка в любом случае. Проблема в том, что для переменной $response['redirect'] = $authlink;
я должен быть перенаправлен на h ttps://example.com/author/author_id
, но меня перенаправляют только на https://example.com/author/
Кажется, что файл контроллера все равно не получает author_id, возможно, потому что после перенаправления он теряет author_id, и это почему я не перенаправлен на правильный путь? Должен ли я как-то хранить author_id и использовать его снова в этом файле?
PS Если я использую такое же перенаправление в файле шаблона (не в контроллере) - работает отлично, но затем обходит все проверки даты, вот почему я ' я все еще не могу справиться с файлом контроллера.