在插件中挂钩wp_head();

时间:2014-11-09 作者:milo99

我正在遵循一个教程,该教程要求我将此代码放在上面wp_head();

<?php
    $example_position = get_theme_mod( \'logo_placement\' );
    if( $example_position != \'\' ) {
        switch ( $example_position ) {
            case \'left\':
                // Do nothing. The theme already aligns the logo to the left
                break;
            case \'right\':
                echo \'<style type="text/css">\';
                echo \'#main-header #logo{ float: right; }\';
                echo \'</style>\';
                break;
            case \'center\':
                echo \'<style type="text/css">\';
                echo \'#main-header{ text-align: center; }\';
                echo \'#main-header #logo { text-align: center; float: none; margin: 0 auto; display:block; }\';
                echo \'</style>\';
                break;
        }
    }
?>
我希望我能从插件中以某种方式连接到它。在检查了抄本后,我希望我可以做这样的事情,但它不起作用。

add_action(\'wp_head\',\'hook_header\');

function hook_header()
{

$output="<?php
    $example_position = get_theme_mod( \'logo_placement\' );
    if( $example_position != \'\' ) {
        switch ( $example_position ) {
            case \'left\':
                // Do nothing. The theme already aligns the logo to the left
                break;
            case \'right\':
                echo \'<style type="text/css">\';
                echo \'#main-header #logo{ float: right; }\';
                echo \'</style>\';
                break;
            case \'center\':
                echo \'<style type="text/css">\';
                echo \'#main-header{ text-align: center; }\';
                echo \'#main-header #logo { text-align: center; float: none; margin: 0 auto; display:block; }\';
                echo \'</style>\';
                break;
        }
    }
?>";

echo $output;

}\'

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

Did you try this?

function hook_header() {
  $example_position = get_theme_mod( \'logo_placement\' );
    if( $example_position != \'\' ) {
        switch ( $example_position ) {
            case \'left\':
                // Do nothing. The theme already aligns the logo to the left
                break;
            case \'right\':
                echo \'<style type="text/css">\';
                echo \'#main-header #logo{ float: right; }\';
                echo \'</style>\';
                break;
            case \'center\':
                echo \'<style type="text/css">\';
                echo \'#main-header{ text-align: center; }\';
                echo \'#main-header #logo { text-align: center; float: none; margin: 0 auto; display:block; }\';
                echo \'</style>\';
                break;
        }
    }
}
add_action(\'wp_head\',\'hook_header\');
结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴