web-dev-qa-db-fra.com

Deux types de paramètres dans WP - Le doute

J'essayais d'apprendre quelques bases du développement de plugins wordpress et je suis tombé sur deux types de paramètres.

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') ]
);

2

Et dans un autre plugin, je le trouve comme ceci:

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'
        ),

Je suis un peu confus qui est la bonne méthode? Ou si quelqu'un ci-dessus est obsolète?

Je suis un nouveau venu s'il vous plaît supporter avec moi. Merci Richa Sharma

1
Richa Sharma

Le 2ème exemple n'est pas un type de paramètre différent, il s'agit simplement d'un tableau de données que le plug-in va probablement transformer en paramètres ailleurs dans le code. À partir de ce code, je ne sais pas exactement quel type de paramètres il utilisera ni comment il le fera.

Les deux types de paramètres actuels sont l’API de paramètres et le Personnaliser l'API . Votre premier bloc de code utilise l'API Settings.

L’API de paramètres doit être utilisée pour les pages de paramètres d’administrateur d’arrière-plan. L'API Personnaliser doit être utilisée pour ajouter des paramètres aux éléments visibles sur le front-end.

Pour les options de thème en particulier, le référentiel de thèmes wordpress.org nécessite l'utilisation de l'API Personnaliser, et non de l'API Paramètres.

Une autre chose à considérer est que les plugins tiers peuvent avoir leurs propres API pour leur ajouter des paramètres. WooCommerce, par exemple, a sa propre manière d’ajouter des paramètres aux pages de paramètres de WooCommerce (bien qu’il ne s’agisse que de l’API Paramètres). Votre deuxième bloc de code pourrait être destiné à être utilisé dans l'API WooCommerce.

0
Jacob Peattie