web-dev-qa-db-fra.com

Sérialiser les données pour les options wp

Je crée mon tout premier plugin, son but est de montrer un avis lorsque certaines conditions sont remplies, j'ai créé la fonction dans jQuery et initialement, je devais éditer manuellement le fichier à chaque fois que je voulais changer le message d'avis, alors j'ai décidé de créer. une page de paramètres afin que l'utilisateur puisse modifier le message à partir du serveur.

Grâce à un autre membre de stackxchange, j'ai pu utiliser wp localize pour afficher le message personnalisé enregistré dans les options wp. Cependant, je me trouve maintenant dans l'obligation de structurer le message affiché, par exemple;

Title

Message

Image

Je ne veux pas créer beaucoup d'options, alors j'ai pensé que je pourrais essayer de sérialiser les données, mais je ne sais pas comment.

Dans la page des paramètres, j'ai un seul champ de texte pour que l'utilisateur entre le message.

<textarea name="msg_data" id="msg_data" cols="40" rows="10" />
<?php echo get_option('notice_data'); ?>
</textarea>

Voici la localiser

$custom_notice = get_option('notice_data', 'default_value');
  wp_localize_script( 'lu_ban', 'custom_notice', $custom_notice);

Mon objectif est de créer trois entrées différentes, une pour le titre, une pour le message du corps et une pour le chemin de l'image, quelqu'un peut-il m'aider s'il vous plaît.

Merci

1
David Garcia

Pour stocker des données, utilisez ce code: enregistrez les valeurs de sérialisation

$title    = 'Your Title Value';
$message  = 'Your message HTML..';
$image    = 'http://www.domain.com/yourimage.jpg';

$notice_data = array('title'   => $title, 
                     'message' => $message,
                     'image'   => $image
                    );


if(get_option('notice_data') === FALSE){
    add_option('notice_data',  $notice_data );
}else{
    update_option('notice_data', $notice_data );
}

Maintenant, vous pouvez obtenir les valeurs sérialiser et utiliser dans votre code

$notice_data =   get_option('notice_data')  ;  

echo $notice_data['title'];

var_dump($notice_data);
2
Shahinul Islam