Я создал простой файл, который получает почтовый запрос и создает из него сообщение. Код:
<?php
require_once('wp-load.php'); // add wordpress functionality
if (isset($_POST['title'])) {
$post_id = wp_insert_post(
array(
'comment_status' => 'closed',
'ping_status' => 'closed',
'post_author' => '1',
'post_name' => 'BBBBBBB',
'post_title' => $_POST['title'],
'post_status' => 'publish',
'post_type' => 'post'
)
);
}
?>
Это отлично работает, как и ожидалось. Дело в том, что я хочу, чтобы пользователь, который нажимает на этот недавно созданный пост, был перенаправлен на другой сайт, скажем так, я хочу, чтобы он был перенаправлен на Google. Как мне добиться этого?
[Вся концепция для тех, кто заинтересован: пост, созданный в Laravel, отправляет с помощью cronjob свои данные в мой файл wordpress, который создает «фальшивый пост wordpress», после чего пользователь, который нажмет на него, перенаправляется обратно на сайт, где оригинальный пост был создан] Спасибо, как всегда. Привет!
редактировать: я забыл упомянуть, что это должно применяться только к сообщениям, которые были созданы с помощью почтового запроса, или, если быть более точным, к каждому сообщению с этого момента.
Это похоже на то, что мне нужно. Я пока не нашел, как сделать так, чтобы пост сам выполнял эту функцию. Я не работал с WordPress довольно долгое время, поэтому мне нужно знать следующее: а) Как мне выполнить функцию при просмотре сообщения? б) Где я могу поместить эту функцию, потому что я не хочу испортить свой post.php, так как он нужен другим сообщениям.
Я бы сказал, что лучше всего работать с WP HTTP API и создать пользовательскую конечную точку API. Это потенциально большая тема, но она определенно поставит вас на правильный путь. Вам не нужен отдельный файл, который загружает WP (требуется wp-load.php). Ключ находится в действии rest_api_init и расширяет (или использует в качестве ссылки) класс WP_REST_Controller. Это немного сложно для комментария, но вы можете поместить функцию в пользовательский маршрут и нажать ее, не оказывая никакого влияния на другие сообщения или функциональность сайта.






Вы пытались использовать что-то вроде wp_redirect('back-to-laravel.com?post_id_created=' . $post_id . '); Вы можете передать ему параметры запроса из поддельного поста.