truongwp/wp-redirect-with-error

处理WordPress中重定向到其他URL时的错误。

0.1.1 2017-05-31 04:59 UTC

This package is not auto-updated.

Last update: 2024-09-29 03:33:14 UTC


README

此类处理WordPress中重定向到其他URL时的错误。使用简单的URL参数和nonce,不使用SESSION或COOKIE,这在WordPress中不建议使用。

如何使用?

只需将文件class-truongwp-redirect-with-error.php包含到您的主题或插件中,或使用Composer进行安装。

composer require "truongwp/wp-redirect-with-error >= 0.1.1"

然后创建一个全局存储类实例的函数。

<?php
function prefix_redirect_error() {
    static $errors = null;

    if ( ! $errors ) {
        $errors = new Truongwp_Redirect_With_Error();
    }

    return $errors;
}

您需要注册您使用的所有错误。这可以通过register_error()方法完成。

<?php
function prefix_redirect_error() {
    static $errors = null;

    if ( ! $errors ) {
        $errors = new Truongwp_Redirect_With_Error();
    }

    // $errors->register_error( 'error-code', 'error-message' );
    $errors->register_error( 'error-1', 'This is error 1' );
    $errors->register_error( 'error-2', 'This is error 2' );
    $errors->register_error( 'error-3', 'This is error 3' );

    return $errors;
}

要将错误传递到重定向URL。而不是

<?php
wp_redirect( $url );

您需要

<?php
// This will add error code and nonce to URL parameters.
$new_url = prefix_redirect_error()->add_error( $url, 'error-2' );
wp_redirect( $new_url );

要显示错误,使用此代码

<?php
// This check error code and nonce via URL parameters to get error and display.
prefix_redirect_error()->show_error();

要显示特定错误,将错误代码传递给show_error()方法

<?php
prefix_redirect_error()->show_error( 'error-1' );

要更改显示错误时的标记,使用set_template()方法

<?php
function prefix_redirect_error() {
    static $errors = null;

    if ( ! $errors ) {
        $errors = new Truongwp_Redirect_With_Error();
    }

    $errors->register_error( 'error-1', 'This is error 1' );
    $errors->register_error( 'error-2', 'This is error 2' );
    $errors->register_error( 'error-3', 'This is error 3' );

    // Set new error markup.
    $errors->set_template( '<p class="error error-%1$s">%2$s</p>' );

    return $errors;
}

您还可以更改一些其他值,阅读class-truongwp-redirect-with-error.php文件中的代码和注释。

贡献

贡献者:@truongwp

欢迎提交错误报告或Pull请求。