Перенаправить пользовательский пост Wordpress

Я создал простой файл, который получает почтовый запрос и создает из него сообщение. Код:

<?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», после чего пользователь, который нажмет на него, перенаправляется обратно на сайт, где оригинальный пост был создан] Спасибо, как всегда. Привет!

редактировать: я забыл упомянуть, что это должно применяться только к сообщениям, которые были созданы с помощью почтового запроса, или, если быть более точным, к каждому сообщению с этого момента.

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

JDev518 19.03.2019 00:16

Это похоже на то, что мне нужно. Я пока не нашел, как сделать так, чтобы пост сам выполнял эту функцию. Я не работал с WordPress довольно долгое время, поэтому мне нужно знать следующее: а) Как мне выполнить функцию при просмотре сообщения? б) Где я могу поместить эту функцию, потому что я не хочу испортить свой post.php, так как он нужен другим сообщениям.

Desory 19.03.2019 00:36

Я бы сказал, что лучше всего работать с WP HTTP API и создать пользовательскую конечную точку API. Это потенциально большая тема, но она определенно поставит вас на правильный путь. Вам не нужен отдельный файл, который загружает WP (требуется wp-load.php). Ключ находится в действии rest_api_init и расширяет (или использует в качестве ссылки) класс WP_REST_Controller. Это немного сложно для комментария, но вы можете поместить функцию в пользовательский маршрут и нажать ее, не оказывая никакого влияния на другие сообщения или функциональность сайта.

JDev518 19.03.2019 00:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
42
0

Другие вопросы по теме