php - 以编程方式创建后如何转到新的 WordPress 帖子?
问题描述
我创建了一个 PHP 函数,它将根据添加到页面上的内容自动创建一个新的 WordPress 帖子。但是,它只保留在当前页面上,但我希望它转到那个新创建的帖子。我怎样才能重定向到那个帖子?这是我到目前为止所拥有的:
<?php
if(isset($_POST['submitButton']))
{
$storyTitle=$_POST['storyTitle'];
$storyCategory=wp_strip_all_tags( $_POST['storyCategory'] );
$storyTags=$_POST['storyTags'];
switch ($storyCategory) {
case "Action":
$storyCategory='3';
break;
case "Adventure":
$storyCategory='4';
break;
case "Comedy":
$storyCategory='5';
break;
case "Fanfiction":
$storyCategory='6';
break;
case "Fantasy":
$storyCategory='9';
break;
case "General Fiction":
$storyCategory='12';
break;
case "Horror":
$storyCategory='13';
break;
case "Mystery":
$storyCategory='8';
break;
case "Poetry":
$storyCategory='14';
break;
case "Romance":
$storyCategory='7';
break;
case "Science Fiction":
$storyCategory='10';
break;
case "Short Story":
$storyCategory='11';
break;
default:
$storyCategory=$_POST['storyCategory'];
}
$my_post = array(
'post_type' => 'post',
'post_title' => wp_strip_all_tags( $_POST['storyTitle'] ),
'post_content' => '',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => explode(',', $storyCategory),
'tags_input' => explode(',', $storyTags)
);
if( null == get_page_by_title( $title ) ) {
$post_id=wp_insert_post($my_post);
//wp_redirect( site_url()."?post=".$post_id);
}
}
?>
解决方案
您可以使用get_permalink
获取帖子网址。检查下面的代码。
<?php
if(isset($_POST['submitButton']))
{
$storyTitle=$_POST['storyTitle'];
$storyCategory=wp_strip_all_tags( $_POST['storyCategory'] );
$storyTags=$_POST['storyTags'];
switch ($storyCategory) {
case "Action":
$storyCategory='3';
break;
case "Adventure":
$storyCategory='4';
break;
case "Comedy":
$storyCategory='5';
break;
case "Fanfiction":
$storyCategory='6';
break;
case "Fantasy":
$storyCategory='9';
break;
case "General Fiction":
$storyCategory='12';
break;
case "Horror":
$storyCategory='13';
break;
case "Mystery":
$storyCategory='8';
break;
case "Poetry":
$storyCategory='14';
break;
case "Romance":
$storyCategory='7';
break;
case "Science Fiction":
$storyCategory='10';
break;
case "Short Story":
$storyCategory='11';
break;
default:
$storyCategory=$_POST['storyCategory'];
}
$my_post = array(
'post_type' => 'post',
'post_title' => wp_strip_all_tags( $_POST['storyTitle'] ),
'post_content' => '',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => explode(',', $storyCategory),
'tags_input' => explode(',', $storyTags)
);
if( null == get_page_by_title( $title ) ) {
$post_id = wp_insert_post($my_post);
if( $post_id ){
wp_redirect( get_permalink( $post_id ) );
exit;
}
}
}
?>
推荐阅读
- pandas - python numpy矢量化对象实例数组
- reactjs - 如何从 React 发送 CORS 请求?
- forms - Vuejs v-model 自动转义 html 实体
- javascript - 箭头不从字段中的位置移动
- ios - ARKit 添加了 X 翻转的 2D 视频
- android - Android Studio 3.2.1 一直卡死
- javascript - Chrome 扩展程序:计划通知未重置 chrome 存储上的数据
- android - Firebase 实时数据库的行为不一致
- c# - 在带有 Razor Pages Viewcomponent .Net Core 2.1 的选项卡中使用多个模型
- sql - 如何在 SQL Server 中使用线性回归预测未来值