Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在wordpress中发布和更新帖子后,我的自定义帖子类型重定向到edit.php_Php_Wordpress_Redirect - Fatal编程技术网

在wordpress中发布和更新帖子后,我的自定义帖子类型重定向到edit.php

在wordpress中发布和更新帖子后,我的自定义帖子类型重定向到edit.php,php,wordpress,redirect,Php,Wordpress,Redirect,我在wordpress中创建了新的自定义帖子类型-deals,在发布新政帖子之后,它被重定向到edit.php(posts列表)。所以我想把它重定向到交易列表页(),所以请帮助我 我尝试了这段代码,但它将所有文章类型重定向到指定的页面 add_filter( 'redirect_post_location', 'wpse_124132_redirect_post_location' ); /** * Redirect to the edit.php on post save or publis

我在wordpress中创建了新的自定义帖子类型-deals,在发布新政帖子之后,它被重定向到edit.php(posts列表)。所以我想把它重定向到交易列表页(),所以请帮助我

我尝试了这段代码,但它将所有文章类型重定向到指定的页面

add_filter( 'redirect_post_location', 'wpse_124132_redirect_post_location' );
/**
 * Redirect to the edit.php on post save or publish.
 */


function wpse_124132_redirect_post_location( $location ) {

    if ( isset( $_POST['save'] ) || isset( $_POST['publish'] ) )
        return admin_url( "edit.php?post_type=deals" );

    return $location;
} 
您需要使用函数

将代码更改为

function wpse_124132_redirect_post_location( $location ) {

    if ( 'deals' == get_post_type() ) {

    /* Custom code for 'deals' post type. */

        if ( isset( $_POST['save'] ) || isset( $_POST['publish'] ) )
            return admin_url( "edit.php?post_type=deals" );

    } 
    return $location;
} 
编辑:由于您使用的是循环外部的
get\u post\u type()
,因此您需要传递帖子的ID

get\u post\u type($\u post['id'])

您需要使用函数

将代码更改为

function wpse_124132_redirect_post_location( $location ) {

    if ( 'deals' == get_post_type() ) {

    /* Custom code for 'deals' post type. */

        if ( isset( $_POST['save'] ) || isset( $_POST['publish'] ) )
            return admin_url( "edit.php?post_type=deals" );

    } 
    return $location;
} 
编辑:由于您使用的是循环外部的
get\u post\u type()
,因此您需要传递帖子的ID


get\u post\u type($\u post['id'])

它就像一个符咒。谢谢我觉得很奇怪,当其他非管理员用户没有本机帖子的权限时,WP会将他们重定向到edit.php。我也不明白为什么WP没有增加权限,这让我很震惊,用户在管理后端做任何事情都需要“编辑帖子”。这很有魅力。谢谢我觉得很奇怪,当其他非管理员用户没有本机帖子的权限时,WP会将他们重定向到edit.php。我也不明白为什么WP没有增加权限,这让我很震惊,用户需要有“编辑帖子”才能在管理后端做任何事情。