保存并显示WordPress插件数据


Save and display wordpress Plugin data

>我创建了Wordpress插件,并希望保存到wordpress_options表中。但是在我的保存功能中不起作用。

这是我的代码:

<?php 
/**
* Plugin Name: Social Media Plugin
* Plugin URI: http://fanjavaid.com/plugin
* Description: Plugin untuk kebutuhan data sosial media.
* Version: 1.0
* Author: Fandi Akhmad
* Author URI: http://fanjavaid.com
*/
function mp_admin() {
    if(isset($_POST['mp_web'])):
        update_option('mp_web', $_POST['mp_web']);
        echo '<div class="updated"><p><strong>Updated</strong>: Data berhasil diubah</p></div>';
    endif;
    $mp_web = get_option('mp_web');
?>
<div class="wrap">
    <?php    echo "<h2>" . __( 'Halaman Konfigurasi My Plugin', 'mp' ) . "</h2>"; ?>
    <?php echo "<p>Masukkan detail sosial media untuk website Indotechsci</p>"; ?>
    <form name="mp_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
        <input type="hidden" name="mp_hidden" value="Y">
        <p><?php _e("Twitter " ); ?><input type="text" name="mp_twt" value="" size="20" placeholder="username"></p>
        <p><?php _e("Facebook " ); ?><input type="text" name="mp_fb" value="" size="20" placeholder="username"></p>
        <p><?php _e("Youtube " ); ?><input type="text" name="mp_ytb" value="" size="20" placeholder="username"></p>
        <p class="submit">
        <input type="submit" name="Submit" class="button button-primary" value="<?php _e('Save Changes', 'mp' ) ?>" />
        </p>
    </form>
</div>
<?php } ?>

它不会保存。我的代码可能有问题吗?以及如何将保存的上述信息调用到WordpresS的主页中?

请帮助我。谢谢。

代码的问题在于,您可能正在保存数据,但您没有读取保存的数据,并且您没有根据以前保存的内容更改表单中的数据。

下面的代码是从数据库中保存和读取注册变量的典型方法。

<form method="post" action="options.php">
        <?php settings_fields( 'FJE_Plugin_FrontPage_Settings_Group' ); ?>
        <?php do_settings_sections( 'FJE_Plugin_FrontPage_Settings_Group' ); ?>
        <table class="form-table">
            <tr valign="top">
                <th scope="row">Website name:</th>
                <td><input type="text" name="FJEPLG_option_Website_name" value="<?php echo esc_attr( get_option('FJEPLG_option_Website_name') ); ?>" /></td>
            </tr>
            <tr valign="top">
                <th scope="row">Show/Hide Website name:</th>
                <td>
                    <input name="FJEPLG_option_ShowWebsiteName" type="checkbox" value="Yes"  <?php if (esc_attr( get_option('FJEPLG_option_ShowWebsiteName'))==true ){echo "checked='checked'";}; ?> />
                    <label>Show the website name in header;</label>
                </td>
            </tr>
        </table>
        <?php submit_button(); ?>

您使用的变量名称必须注册到 register_setting() 函数。