如果我只是想要一个临时功能,该怎么办呢?

时间:2013-10-31 作者:bestprogrammerintheworld

How would go about if I just want a temporary function? (这是一个转换器,只用于转换对Wordpress表的访问)。我想执行多次,因此我希望它自动执行,但我不知道在add\\u action()中添加过滤器后如何执行该函数。转换完成后,我将删除该函数。

我想做点什么http://url/index.php?convert

function addcoursecategoriesfromaccess() {
    //code for converting the table
}
add_action(\'convert\',\'addcoursecategoriesfromaccess\');

//If I type http://url/index.php?convert then I want the addcoursecategoriesfromaccess()  to execute
if ($_REQUEST[\'GET\'] == \'convert\') {
    do_action(\'convert\');
}
我想我遗漏了一些非常简单的东西,但作为WP编程的新手,我希望你能帮助我:-)我有函数中的代码。主题中的php。

2 个回复
最合适的回答,由SO网友:Denis de Bernardy 整理而成

改用init hook等。例如;:

if (isset($_GET[\'convert\'])) add_action(\'init\', \'yourfunction\');
(但是,想出一个更好的检查。?转换可能意味着什么。并通过检查用户权限、它尚未运行等来保护它。)

SO网友:Zogot

相反,您可以连接到init

add_action( \'init\', \'addcoursecategoriesfromaccess\' );
function addcoursecategoriesfromaccess() {
     if ( ! filter_has_var( INPUT_GET, \'convert\' )
         return;

     // code here
}
然后,当您想要运行它时,只需转到您编写的URL({URL}/?convert=1),然后addcoursecategoriesfromaccess就会运行。

结束

相关推荐

qTranslate in functions.php

我有一个将用户重定向到特定页面的功能:wp_redirect(\'http://address/page\'); 通常我只会使用:<?php _e(\"<!--:en-->english permalink<!--:--><!--:de-->german permalink<!--:-->\"); ?> 但这是特定的情况,我不能这样使用它。。。你知道怎么做吗?谢谢