例子

使用功能检查、数据验证、安全输入、安全输出和随机数的完整示例:

/***根据主页url生成删除链接。**@param string$content现有内容。**@return string |空*/函数wporg_generate_delete_link($content){//仅对单个帖子页面运行。if(is_single()&&in_the_loop()&&is_main_query()){//添加查询参数:action、post、nonce$url=添加查询参数([“action”=>“wporg_frontend_delete”,“发布”=>get_the_ID(),“nonce”=>wp_create_nonce(“wporg_frontend_delete”),],主页url());return$content。'<a href=“'.esc_url($url).'”>'。esc_html__('删除帖子','wporg')。'</a> ';}返回null;}/***请求处理程序*/函数wporg_delete_post(){if(isset($_GET['action'])&&isset($_GET[“一次”])&&'wporg_frontend_delete'===$_GET['操作']&&wp_verify_nonce($_GET['noce'],'wporg_frontend_delete'){//验证我们有帖子id。$post_id=(isset($_GET['post']))?($_GET['post']):(空);//验证是否有带有此编号的帖子。$post=获取post((int)$post_id);if(空($post)){回报;}//删除帖子。wp_trash_post($post_id);//重定向至“管理”页。$redirect=admin_url('edit.php');wp_safe_reredirect($redirect);//我们完成了。模具;}}/***添加删除帖子功能*/add_action('plugins_loaded','wporg_add_delete_post_ability');函数wporg_add_delete_post_ability(){if(current_user_can('edit_others_posts')){/***将删除链接添加到帖子内容的末尾。*/add_filter('the_content','wporg_generate_delete_link');/***使用init钩子注册我们的请求处理程序。*/add_action('init','wporg_delete_post');}}