可湿性粉剂中的两种设置--怀疑

时间:2018-10-18 作者:Richa Sharma

我试图学习wordpress插件开发的一些基础知识,我偶然发现了两种类型的设置。

1个

add_settings_field(
    \'custom_title\',
    esc_html__(\'Custom Title\', \'myplugin\'),
    \'myplugin_callback_field_text\',
    \'myplugin\', 
    \'myplugin_section_login\', 
    [ \'id\' => \'custom_title\', \'label\' => esc_html__(\'Custom title attribute for the logo link\', \'myplugin\') ]
);

add_settings_field(
    \'custom_style\',
    esc_html__(\'Custom Style\', \'myplugin\'),
    \'myplugin_callback_field_radio\',
    \'myplugin\', 
    \'myplugin_section_login\', 
    [ \'id\' => \'custom_style\', \'label\' => esc_html__(\'Custom CSS for the Login screen\', \'myplugin\') ]
);

add_settings_field(
    \'custom_message\',
    esc_html__(\'Custom Message\', \'myplugin\'),
    \'myplugin_callback_field_textarea\',
    \'myplugin\', 
    \'myplugin_section_login\', 
    [ \'id\' => \'custom_message\', \'label\' => esc_html__(\'Custom text and/or markup\', \'myplugin\') ]
);

add_settings_field(
    \'custom_footer\',
    esc_html__(\'Custom Footer\', \'myplugin\'),
    \'myplugin_callback_field_text\',
    \'myplugin\', 
    \'myplugin_section_admin\', 
    [ \'id\' => \'custom_footer\', \'label\' => esc_html__(\'Custom footer text\', \'myplugin\') ]
);

add_settings_field(
    \'custom_toolbar\',
    esc_html__(\'Custom Toolbar\', \'myplugin\'),
    \'myplugin_callback_field_checkbox\',
    \'myplugin\', 
    \'myplugin_section_admin\', 
    [ \'id\' => \'custom_toolbar\', \'label\' => esc_html__(\'Remove new post and comment links from the Toolbar\', \'myplugin\') ]
);
在其他插件中,我发现它是这样的:

function paytm_settings_list(){
    $settings = array(
        array(
            \'display\' => \'Merchant ID\',
            \'name\'    => \'paytm_merchant_id\',
            \'value\'   => \'\',
            \'type\'    => \'textbox\',
            \'hint\'    => \'Merchant ID\'
        ),
        array(
            \'display\' => \'Merchant Key\',
            \'name\'    => \'paytm_merchant_key\',
            \'value\'   => \'\',
            \'type\'    => \'textbox\',
            \'hint\'    => \'Merchant key\'
        ),
        array(
            \'display\' => \'Website\',
            \'name\'    => \'paytm_website\',
            \'value\'   => \'\',
            \'type\'    => \'textbox\',
            \'hint\'    => \'Website\'
        ),
        array(
            \'display\' => \'Industry Type ID\',
            \'name\'    => \'paytm_industry_type_id\', 
            \'value\'   => \'\',
            \'type\'    => \'textbox\',
            \'hint\'    => \'Industry Type ID\'
        ),
        array(
            \'display\' => \'Channel ID\',
            \'name\'    => \'paytm_channel_id\',
            \'value\'   => \'\',
            \'type\'    => \'textbox\',
            \'hint\'    => \'Channel ID e.g. WEB/WAP\'
        ),
        array(
            \'display\' => \'Mode\',
            \'name\'    => \'paytm_mode\',
            \'value\'   => \'TEST\',
            \'values\'  => array(\'TEST\'=>\'TEST\',\'LIVE\'=>\'LIVE\'),
            \'type\'    => \'select\',
            \'hint\'    => \'Change the mode of the payments\'
        ),
我有点困惑,哪种方法是正确的?或者如果上面的任何一个都过时了?

我是新来的,请容忍我。ThanksRicha sharma公司

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

第二个示例并不是一种不同类型的设置,它只是一个数据数组,插件可能会在代码中的其他地方将其转换为设置。我无法从这段代码中判断它将使用什么类型的设置,或者它是如何做到这一点的。

实际设置有两种类型Settings API, 以及Customize API. 您的第一块代码是使用设置API。

设置API应用于后端管理设置页面。自定义API应用于为前端可见的内容添加设置。

对于主题选项,请使用wordpress。组织主题存储库需要使用自定义API,而不是设置API。

另一件需要考虑的事情是,第三方插件可能有自己的API来为其添加设置。例如,WooCommerce有自己的方式将设置添加到WooCommerce设置页面(尽管在后台它只是设置API)。您的第二块代码可能用于WooCommerce API。

结束

相关推荐

Calculations in functions.php

我为自己创建了一个发票主题,并试图在自定义列中获取发票总额。我已经尝试调整模板页面中使用的代码,以便在函数中显示这一点。php文件,但它不工作。我的乘法操作数出现了一个操作数错误,我不知道为什么。这是我的代码(如有任何帮助,将不胜感激)。if( $column_name == \'invoice_total\' ) { $hours = 0; // This allows counting of each sub_field //* Set repeater va