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

时间:2014-05-23 06:00:33

标签: php wordpress redirect

我创建了新的自定义帖子类型 - 在wordpress中进行交易,并在发布新帖后重定向到edit.php(帖子列表)。所以我想将其重定向到交易列表页面(http://mydemo.com/demo/edit.php?post_type=deals),所以请帮助我。

我尝试了这段代码,但它将所有帖子类型重定向到指定页面。

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;
} 

1 个答案:

答案 0 :(得分:4)

您需要使用get_post_type()功能。

将您的代码更改为

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;
} 

编辑:由于您在 The Loop 之外使用get_post_type(),因此您需要传递帖子的ID,

get_post_type($_POST['id'])