将自定义域添加到站点标识菜单

时间:2018-07-30 作者:Meyer Auslander

默认情况下,WordPress似乎为站点标题和标语提供了字段。

我了解如何添加(例如)选择徽标的选项,添加add_theme_support( \'custom-logo\' ); 功能。php文件。但是,如何为“公司名称”和“公司部门”或任何尚未包含在WordPress主题支持中的文本字段添加字段?

2 个回复
SO网友:Krzysiek Dróżdż

您必须添加自己的定制器控件才能实现这一点。

例如,如果要添加公司名称,可以使用以下代码:

function my_register_additional_customizer_settings( $wp_customize ) {
    $wp_customize->add_setting(
        \'my_company_name\',
        array(
            \'default\' => \'\',
            \'type\' => \'option\', // you can also use \'theme_mod\'
            \'capability\' => \'edit_theme_options\'
        ),
    );

    $wp_customize->add_control( new WP_Customize_Control(
        $wp_customize,
        \'my_company_name\',
        array(
            \'label\'      => __( \'Company name\', \'textdomain\' ),
            \'description\' => __( \'Description for your field\', \'textdomain\' ),
            \'settings\'   => \'my_company_name\',
            \'priority\'   => 10,
            \'section\'    => \'title_tagline\',
            \'type\'       => \'text\',
        )
    ) );
}
add_action( \'customize_register\', \'my_register_additional_customizer_settings\' );
附言:在这里您可以找到有关此主题的更多文档:Theme Customization API

SO网友:David Sword

这都是Customizer API; 您将创建section, 添加一个setting 添加到节,然后添加controller 到设置。完成后,您将使用get_theme_mod()

例如,您可以将“公司名称”添加到Customizer,如下所示:

function mytheme_customize_register( $wp_customize ) {

    $wp_customize->add_section( \'mytheme_company_section\' , array(
        \'title\'      => __( \'Additional Company Info\', \'mytheme\' ),
        \'priority\'   => 30,
    ));

    $wp_customize->add_setting( \'mytheme_company-name\', array());
    $wp_customize->add_control( new WP_Customize_Control(
        $wp_customize,
        \'mytheme_company_control\',
            array(
                \'label\'      => __( \'Company Name\', \'mytheme\' ),
                \'section\'    => \'mytheme_company_section\',
                \'settings\'   => \'mytheme_company-name\',
                \'priority\'   => 1
            )
        )
    );

    // ..repeat ->add_setting() and ->add_control() for mytheme_company-division
}
add_action( \'customize_register\', \'mytheme_customize_register\' );
然后要在主题中显示这个动态值,您可以进入一个文件,如header.php 或任何您想要的地方,并使用:

echo get_theme_mod( "mytheme_company-name" );

结束

相关推荐

Custom Menus and taxonomies

好的,我刚开始使用WordPress,不是很好,我有一个菜单问题,我真的需要一些帮助。我在一个网站上工作,它有多个地点,并非所有地点都销售相同的产品。所有位置都是具有父结构的页面。俄亥俄州-联系我们-关于我们-产品等。。。西弗吉尼亚州-联系我们-关于我们-产品等。。。宾夕法尼亚州-联系我们-关于我们-产品等我掌握了自定义页面模板的窍门,并为其添加了自定义菜单(因此,我所有的Ohio页面都使用了我制作的自定义Ohio模板,并包含了自定义Ohio菜单)。我正在使用帖子创建产品信息页面,并使用以下方式显示它们: