it-swarm.com.de

Plugin-Einstellungen in der Datenbank speichern

  1. Ich bin kein Anfänger mit PHP oder WordPress, aber ich möchte dieses Problem so effizient wie möglich angehen.

  2. Ich habe ein Plugin, das zufällig ein Angebot generiert. Ich bin an dem Punkt angelangt, an dem ich das Angebot in der MySQL-Datenbank speichern muss.

  3. Ich möchte wissen, wie die Daten am besten gespeichert werden können, unabhängig davon, ob die Einstellungen api verwendet oder einfach in einem Array gespeichert werden.

  4. Ich möchte auch die Option zum Löschen eines Angebots implementieren.

  5. Über das Eingabetextfeld möchte ich wissen, wie ich neue Anführungszeichen in das Textfeld einfügen und die Daten an das Array übergeben kann, in dem sich die Anführungszeichen befinden.

Mein Code weit (Die Anführungszeichen sind im Moment in einem Array gespeichert)

<?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

Ich würde das Array in den Optionen als serialisierten Wert speichern.

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

und abrufen mit:

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

Andere Dinge zu beachten:

Fügen Sie eine Behandlung hinzu, falls die Option "Anführungszeichen" nicht vorhanden ist.

Fügen Sie auch eine Behandlung hinzu, um Anführungszeichen aus der Optionstabelle zu löschen, wenn das Plugin gelöscht wird. Siehe: http://codex.wordpress.org/Function_Reference/register_uninstall_hook

2
Shawn H