如何让以下内容在Wordress Theme functions.php文件中正常工作?
我还没想出如何在主题的functions.php文件中为top函数提供top函数。我没有抓住如何设置挂钩,以便它们可以一起工作。谢谢。
function poohToPee( $pooh_log )
{
switch( $pooh_log )
{
case 'gross-poop':
$pee_equivalent = 'Grossest of Pees';
break;
case 'ok-poop':
$pee_equivalent = 'Bland Snack Pee';
break;
case 'shang-tsung-plop':
$pee-equivalent = 'Random U-Stream';
break;
}
return $pee_equivalent;
}
function screw_loose()
{
if( isset($_REQUEST['pooh_log']) )
{
echo poohToPee( $_REQUEST['pooh_log'] );
}
}
add_action('wp_ajax_priv_screw_loose', 'screw_loose')
答案 0 :(得分:1)
add_action通常会调用您在调用hook时传递的函数。
既然你正在使用某种ajax钩子,你真的可以确保你的功能没有被调用吗?由于它在后台运行,因此不会向屏幕回显任何内容。
通常,您在functions.php中定义的任何函数都可以在主题中使用。
显然通常最好组织并拥有类,在这种情况下,您将方法作为数组传递给钩子,例如add_action( 'admin_init', array( $this, 'someFunction' ) );
和我刚刚做过的add_action
被放入班级的__construct
功能。
例如,你可以这样做:
class helloWorld
{
function __construct()
{
add_action( 'admin_init', array( $this, 'echoItOut' ) );
}
function echoItOut()
{
echo 'Hello World';
}
}
$helloWorld = new helloWorld;
或者您也可以这样做:
class helloWorld
{
function echoItOut()
{
echo 'Hello World';
}
}
$helloWorld = new helloWorld;
add_action( 'admin_init', array( $helloWorld, 'echoItOut' ) );
或者简单地说:
function echoItOut()
{
echo 'Hello World';
}
add_action( 'admin_init', 'echoItOut' );
如果你把我在functions.php文件中提供的任何代码块放到你的仪表板上,你会看到“Hello World'最有可能在管理栏下方的顶部打印出来(如果仪表板具有自定义样式,则可能因主题而异)。