加载edit.php之前的Wordpress钩子
这看起来很琐碎,但我找不到解决办法 我有自定义的帖子过滤器。并不是每个用户都能编辑每一篇文章。它取决于自定义元标记。(这并不重要) 重要的是如果他们使用URL之类的东西` /edit.php?post=467 他们可以找到我“不允许他们”的帖子 我正在寻找的是,是否有可能得到一个像钩子一样的URL 管理员初始化 所以我可以做一些类似的事情加载edit.php之前的Wordpress钩子,php,wordpress,Php,Wordpress,这看起来很琐碎,但我找不到解决办法 我有自定义的帖子过滤器。并不是每个用户都能编辑每一篇文章。它取决于自定义元标记。(这并不重要) 重要的是如果他们使用URL之类的东西` /edit.php?post=467 他们可以找到我“不允许他们”的帖子 我正在寻找的是,是否有可能得到一个像钩子一样的URL 管理员初始化 所以我可以做一些类似的事情 if (!isset($_GET['post'])){ //redirect } 或 谢谢大家。:-) 编辑:我刚刚意识到你在EDIT.php中,意思是Wo
if (!isset($_GET['post'])){ //redirect }
或
谢谢大家。:-) 编辑:我刚刚意识到你在EDIT.php中,意思是WordPress的管理区域。。。在这种情况下,正如您提到的“admin_init”操作 尝试以下方法: **快速提示:你说过如果
isset($\u GET['post'])你想重定向,
right。。在你的例子中,你说的是!isset($\u GET['post'])
因此需要验证您的意思
function restrict_admin_with_redirect() {
if (isset($_GET['post'])) {
wp_redirect( site_url() );
exit;
}
}
add_action( 'admin_init', 'restrict_admin_with_redirect', 1 );
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
其他资料:
如果正在执行的页面不在管理区域,而是在WordPress的前端,如普通页面或帖子:
有几个钩子可以用来做这个。您还可以选择编辑主题的header.php
文件
查看内容
过滤器:
您可以将其添加到functions.php
文件中(最好使用子主题,以便在更新主主题时不会覆盖更改)
或者在header.php文件的开头(在输出任何html之前),添加如下内容:
if (isset($_GET['post'])){
wp_redirect( {url to redirect to} );
exit();
}
在WordPress开发问题的网站上,你可能会得到更多的帮助:如果没有人帮助我,我可能会尝试。我在发布之前就尝试过这一个,但由于某种原因,无法访问$\u GET全局变量。我可以再试一次,把我的想法贴在那里
function my_the_content_filter($content) {
if (isset($_GET['post'])){
return 'You do not have access to this page.';
}
// otherwise returns the database content
return $content;
}
add_filter( 'the_content', 'my_the_content_filter' );
if (isset($_GET['post'])){
wp_redirect( {url to redirect to} );
exit();
}