2014-02-11 30 views
0

我正在为我的主题制作我的第一个主题选项/设置页面。WordPress的,在管理中使用主题选项页面,如果选中复选框添加html到header.php

我为我的滑块添加了一部分,但在某些情况下,我不希望滑块在那里,所以我要添加一个复选框,如果它已被选中,它会向我的标题添加一个div标记页面,如果没有被选中,则不会显示任何内容。

我曾考虑过使用短代码,但这会保持原状,并显示短代码名称(如果未选中)。

这里是在PHP我复选框形式

<?php 
function hero_options_page() { 
    if ($_POST['update_hero_options'] == 'true') { hero_options_update(); } 
?> 
<div class="wrap"> 
    <form method="post" action="<?php admin_url('themes.php?page=theme-settings'); ?>"> 
    <input type="hidden" name="update_hero_options" value="true" /> 
    <?php 
     <input type="checkbox" name="display_hero" id="display_hero" <?php echo get_option('theme_display_hero'); ?> /> 
    ?> 
    <!-- SUBMIT BUTTON--> 
    <p class="submit" style="clear: both;"> 
     <input type="submit" name="Submit" class="button-primary" value="Update Options" /> 
    </p> 
    <!-- /SUBMIT BUTTON--> 
    </form> 
</div> 
<?php 
} 
?> 

以下是我得到的结果,如果它检查保存或不

function hero_options_update() { 
if ($_POST['display_hero']=='on') { $display = 'checked'; } else { $display = ''; } 
update_option('theme_display_hero',  $display); 

//If checked add html to header.php 

} 
?> 

UPDATE 2014年11月1日15:45 @

我正在尝试使用下面的代码,如上所述添加了一点点

$c = get_option('display_header'); 
if ('checked' == $c) { 
    function add_header_function() { 
    echo 'your content'; 
    } 
} 
add_shortcode('add_header', 'add_header_function'); 

以下是我在标题中放置的内容,要么会很好,我可以让它工作。

<?php echo do_shortcode('[add_header]'); ?> 
<?php get_option('display_header'); ?> 
+0

该代码在哪里 - 最后两个块?我猜测你试图使用的钩子已经太晚了。 –

+0

你可能有兴趣看看我的管理面板:github.com/maximski/Inferno它提供了一个简单的语法来创建全功能和可访问的管理选项:)(并且非常漂亮的方式) –

回答

0

我假设/推断/猜测问题是“我如何使这项工作在前端?”所以,请使用get_option

$c = get_option('theme_display_hero'); 
if ('checked' == $c) { 
    echo 'your content'; 
} 

你的短代码也许应该是:

function add_header_function() { 
    $c = get_option('display_header'); 
    if ('checked' == $c) { 
     echo 'your content'; 
    } 
} 
add_shortcode('add_header', 'add_header_function'); 

然而,重要的其中可以定义函数并添加简码。

+0

更新了主代码但我仍然无法工作。 – Dan

+0

使用你的短代码,现在headset.php不显示短代码,这意味着它正在做的事情,但它做的事情,但不填充 – Dan

+0

@丹:除非你发布更多的细节,我忍不住。 –

相关问题