Alih keluar jenis siaran tersuai dan ubah hala ke halaman utama
P粉590428357
P粉590428357 2023-09-04 12:16:33
0
2
478
<p>Saya menggunakan <kod>get_delete_post_link</code> untuk memadamkan siaran tersuai dari bahagian hadapan, tetapi selepas memadamkan saya mendapat halaman 404. Bagaimana untuk mengubah hala ke halaman utama selepas memadamkan siaran tersuai? </p> <p>Saya memasukkan kod ini dalam functions.php: </p> <pre class="brush:php;toolbar:false;">function wp_delete_post_link($link = 'Delete Post', $before = '', $after = '') { global $post; $link = "<a href='" wp_nonce_url( get_bloginfo('url') . "/wp-admin/post.php?action=delete&amp;post=" . $post->ID, 'delete-post_' . $post->ID) .$link.</a" echo $sebelum $link . }</pre> <p>Kemudian saya mencipta kod pendek untuk menjana butang padam: </p> <pre class="brush:php;toolbar:false;">function wpc_elementor_shortcode( $atts ) { wp_delete_post_link(); } add_shortcode( 'my_shortcode', 'wpc_elementor_shortcode');</pre> <p>Adakah terdapat sebarang cara untuk menambah baik kod ini untuk mengubah hala selepas pemadaman? </p>
P粉590428357
P粉590428357

membalas semua(2)
P粉020556231

Cuba ini:

/**
 * template_redirect Action Hook.
 * Redirect users to home page
 * after deleting a custom post type post.
 */
function redirect_on_delete() {
    // Custom post type plural name or rewrite slug name.
    $custom_post_type = 'CUSTOM_POST_TYPE';

    $regex = "/" . $custom_post_type . ".*" . preg_quote(  "/?deleted=", "/" ) . "\d+" . "/i";

    if ( preg_match( $regex, $_SERVER["REQUEST_URI"] ) ) {
        \nocache_headers();
        if ( \wp_safe_redirect( esc_url( get_home_url() ) ) ) {
            exit;
        };
    }
}
add_action( 'template_redirect', 'redirect_on_delete', 10, 1 );
P粉609866533

Saya mencuba banyak coretan kod untuk mengubah hala selepas siaran tersuai dipadamkan tetapi tiada satu pun daripada mereka yang berjaya. Jadi saya mencuba pendekatan lain: mengubah hala halaman 404 ke papan pemuka editor bahagian hadapan tersuai yang saya bina untuk pengguna peranan editor. Kodnya adalah seperti berikut:

function editor_redirect_404() {
    global $wp_query;
    if ( $wp_query->is_404 ) {
      wp_redirect( home_url( '/dashboard/' ) );
      exit;
    }
}
add_action('template_redirect', 'editor_redirect_404', 1);

Saya tidak mahu pelawat ke tapak mengalami perkara ini (mereka mempunyai 404 halaman biasa), jadi ubah hala ini hanya akan digunakan jika pengguna log masuk dan mempunyai peranan editor. Ini dicapai dengan menggunakan penjana bersyarat daripada pemalam WPCodeBox.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!