web-dev-qa-db-fra.com

Enregistrement des paramètres du plug-in dans la base de données

  1. Je ne suis pas un novice complet avec php ou wordpress, mais je souhaite aborder ce problème de la manière la plus efficace, alors pensez que demander ici aidera.

  2. J'ai un plugin qui génère une citation de manière aléatoire - j'ai besoin de sauvegarder la citation dans la base de données mysql.

  3. Je veux connaître le meilleur moyen de sauvegarder les données, que ce soit en utilisant l’API de configuration ou simplement en l’enregistrant dans un tableau.

  4. Je souhaite également implémenter l'option de suppression d'un devis.

  5. En utilisant le champ de saisie, je veux savoir comment ajouter de nouvelles citations dans la zone de texte et transmettre les données au tableau contenant les citations.

Mon code loin (Les citations sont stockées dans un tableau pour le moment)

<?php

/*idea to develop further would be, add a text box that the user can input the quote in
this then gets added to the DB and passed to the $quotes array. From here the results get
output the same way*/
/*
Plugin Name: Random Quotes
Plugin URI: xxx 
Description: This Plugin randomly generates Quotes input by the user.
Version: 0.0.1
Author: xxx
Author URI: xxx
License: GPL2
*/

add_action('admin_menu', 'dw_quotes_create_menu');

function dw_quotes_create_menu() {
    //create custom top-level menu
    add_menu_page('Quotes Settings', 'Quotes Styling', 'manage_options', __FILE__, 'dw_styling_quotes_settings');
}

function dw_styling_quotes_settings() { ?>
    <div class="wrap">
        <?php screen_icon( 'plugins' ); ?>
        <h2>Quotes Page</h2>
    <table class="form-table">
        <tr valign="top">
            <th scope="row">Input Quotes in the textbox</th>
                <td><input type="textarea" name="random_quote" value="" /></td>
        </tr>
    </table>
    </div>
<?php } 

// add quotes to this list
$quotes = array(
            "one" => "The weak can never forgive. Forgiveness is the attribute of the strong",
            "two" => "Be strong when you are weak, Be brave when you are scared, Be humble when you are victorious",
            "three" => "Our success is achieved by uniting our strength, not by gathering our weaknesses",
            "four" => "One of the most common causes of failure is the habit of of quitting when one is overtaken by temporary defeat",
            "five" => "The struggles make you stronger and the changes make you wise! Happiness has its own way of taking its sweet time"
            );

// uses array_Rand to randomly pick a quote
$Rand_quotes = array_Rand( $quotes);

// pass's the result of $array_Rand to $result_quotes
$result_quote = $quotes[$Rand_quotes];

// outputs the result
//echo $result_quote;

?>
2
Dannyw24

Je voudrais stocker le tableau pour les options capables comme une valeur sérialisée.

update_option('dw_quotes', serialize($quotes));

et récupérer avec:

$quotes = get_option('dw_quotes', null);
if ($quotes !==  null) { $quotes = unserialize($quotes); }

Autres points à considérer:

Ajouter le traitement au cas où l'option de citations n'existe pas.

Ajoutez également le traitement pour supprimer les guillemets de la table d'options lorsque le plug-in est supprimé. Voir: http://codex.wordpress.org/Function_Reference/register_uninstall_hook

2
Shawn H