Link to handle $_GET request

时间:2014-08-28 作者:autorun

我有一组从数据库自定义表中检索到的项目。所以相信我$ticket->ID 输出一些整数。假设我想删除其中一些。在打印它们时,我提供了一个链接来删除它。我是Wordpress的乞丐。

我如何处理这个请求?问题是如果我手动创建一个新页面,即删除票据。用于检索$_GET 数据,我无法访问Wordpress功能。

echo \'(<a href="\'.get_template_directory_uri().\'/delete-ticket.php?ID=\'.$ticket->ID.\'">Delete item</a>)</li>\';

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

如果这是在admin中,请使用action 参数:

<a href="<?php echo esc_url( admin_url( "?action=delete_ticket&ticket_id=$ticket->ID" ) ?>">Delete item</a>
。。。然后适当挂钩:

function wpse_159391_delete_ticket() {
    if ( isset( $_GET[\'ticket_id\'] ) ) {
        // delete it!
    }
}

add_action( \'admin_action_delete_ticket\', \'wpse_159391_delete_ticket\' );
对于前端,您只需将参数附加到当前url,并在template_redirect:

function wpse_159391_delete_ticket() {
    if ( isset( $_GET[\'delete_ticket\'] ) ) {
        $ticket_id = $_GET[\'delete_ticket\'];
        // delete it!
    }
}

add_action( \'template_redirect\', \'wpse_159391_delete_ticket\' );
要在处理后重定向,请执行以下操作:

// Get the URL of the current page/post
if ( is_singular() )
    $url = get_permalink( get_queried_object_id() );

// Get custom URL
$url = home_url( \'my/url/path?arguments\' );

// Get current URI with removed arguments
$url = remove_query_arg( \'delete_ticket\' );

// Get current URI with added arguments
$url = add_query_arg( \'success\', \'true\' );

wp_redirect( $url );
exit;

结束

相关推荐

Add CPT values to Database

我不确定这是不是件容易的事。我有一个插件,具有定制帖子类型所需的所有功能:过滤器、导航。。。我需要为这个CPT创建很多帖子(使用分类法)(需要做很多工作才能正确创建它)。所以我只想添加一次这个自定义帖子,而不是每次我想利用我在其他网站的插件。。。实现这一目标的最佳方式是什么?我是不是每次都要进行某种形式的进出口贸易?我应该利用wp\\u insert\\u post并对帖子的内容进行硬编码吗?为我的英语道歉,我不知道我是否已经解释过了。。。谢谢