Видимость функции страницы настроек WordPress

В настоящее время я настраиваю страницу настроек в WordPress для своего плагина. Почему невозможно реализовать функции как защищенные или частные? Класс непосредственно создан. Насколько известно, с java как объектно-ориентированным языком возможно сделать их защищенными в этом сценарии, не так ли?

Должен ли я реализовать переменную $ this обычно с массивом или это WordPress специфично? Это работает прямо сейчас, и я нашел некоторые комментарии в документе, утверждающие, что он сделал это таким образом, но я не понимаю, почему это необходимо.

Я знаю, что это в основном базовые знания php, но поэтому я прошу — учиться. Спасибо за любую помощь

<?php
class SettingsPage {

static $optionGroup = 'juvo_option_group';
static $optionTitle = 'JUVO Anpassungen';

public function __construct() {
// create custom plugin settings menu
add_action('admin_menu', array( $this, 'my_cool_plugin_create_menu'));

//call register settings function
add_action( 'admin_init', array( $this, 'register_juvo_plugin_settings' ));
}

public function my_cool_plugin_create_menu() {

//create new top-level menu
add_options_page(
self::$optionTitle,  //Page Title
self::$optionTitle,  //Menu Title
'manage_options',       //required Capabilities
'juvo-setting',            //Slug
array( $this, 'juvo_settings_page')
);

}

public function register_juvo_plugin_settings() {
//register our settings
register_setting( self::$optionGroup, 'privacy_policy_comments' );
}

public function juvo_settings_page() {
?>
<div class="wrap">
<h1><?php echo self::$optionTitle ?></h1>

<form method="post" action="options.php">

<?php settings_fields( self::$optionGroup );
$options = get_option( 'privacy_policy_comments' );
do_settings_sections( self::$optionGroup ); ?>

<table class="form-table">

<tr valign="top">
<th scope="row">Seitentitel Datenschutzerklärung</th>
<td><input type="text" name="privacy_policy_comments[title]" value="<?php echo esc_attr( $options['title']); ?>" /></td>
</tr>

</table>

<?php submit_button(); ?>

</form>
</div>
<?php }
}

if( is_admin() )
$my_settings_page = new SettingsPage();

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector