I have created a settings page for my new Elementor plugin
But now I want to activate and deactivate my widgets by placing a select
But whatever command I use, this command is not recognized
can you help me ?
<?php
function Galaxy_elementor_admin_menu(){
add_menu_page(
__( 'گلکسی المنتور' , 'Galaxy_Elementor'),
__( 'گلکسی المنتور' , 'Galaxy_Elementor'),
'manage_options',
'myplugin_settings',
'Galaxy_Elementor_plugin_template_callback',
myplugin_PLUGIN_URL . 'assets/img/0.png',
10
);
add_submenu_page(
'myplugin_settings',
__( 'ویجت ها' , 'Galaxy_Elementor'),
__( 'ویجت ها' , 'Galaxy_Elementor'),
'manage_options',
'myplugin_subsettings',
'Galaxy_Elementor_plugin_template_callback1',
myplugin_PLUGIN_URL . 'assets/img/0.png',
);
}
add_action('admin_menu' , 'Galaxy_elementor_admin_menu');
function Galaxy_Elementor_plugin_template_callback(){
?>
<div class="mypluginset wrap">
<h2 style="font-family: 'IranYekan';font-weight:900;">تنظیمات گلکسی المنتور</h2>
<p>در این صفحه می توانید به راحتی ویجت هایی که میخواهید را فعال و ویجت هایی که نیاز ندارید را غیرفعال کنید تا وبسایت شما سبک تر فعالیت کند</p>
<style>
.mypluginset{font-family: 'IranYekan';}
.form-table tbody tr{float:right;width: 44%;margin:5px;border: 1px solid #ddd;background: #fff;padding: 0 5px;}
.wp-core-ui select,.wp-core-ui select:hover,.wp-core-ui select:focus{color: #dc143c;border-color: #dc143c;}
.wp-core-ui .button-primary,.wp-core-ui .button-primary:hover,.wp-core-ui .button-primary:focus{background:#dc143c;border-color:#dc143c;padding: 5px 15px;}
</style>
<form action="options.php" method="post">
<?php
// security field
settings_fields('myplugin_settings');
// output settings section here
do_settings_sections('myplugin_settings');
// save setting button
submit_button( 'ذخیره تغییرات' );
?>
</form>
</div>
<?php
}
function Galaxy_Elementor_plugin_template_callback1(){
?>
<h4>تنظیمات ویجت ها </h4>
<?php
}
// settings Template
function myplugin_settings_init(){
// setup settings section
add_settings_section(
'myplugin_settings_section',
'my plugin',
'',
'myplugin_settings',
);
// Register input select
register_setting(
'myplugin_settings',
'myplugin_settings_select_field',
array(
'type' => 'string',
'sanitize_callback' => 'sanitize_text_field',
'default' => ''
)
);
// Add settings select
add_settings_field(
'myplugin_settings_select_field',
__('active' , 'myplugin'),
'myplugin_settings_select_field_callback',
'myplugin_settings',
'myplugin_settings_section',
);
}
add_action('admin_init','myplugin_settings_init');
// settings select field template
function myplugin_settings_select_field_callback(){
$myplugin_select_field = get_option('myplugin_settings_select_field');
?>
<select name="myplugin_settings_select_field" class="regular-text" method="post">
<option value="option1" <?php selected( 'option1' , $myplugin_select_field ); ?> >active</option>
<option value="option2" <?php selected( 'option2' , $myplugin_select_field ); ?> >deactive</option>
</select>
<?php
}
Then I expected to be able to enable and disable my widget by putting the following code
But there was no result
if ( isset( $GalaxyEl_select_field['option1'] ) ){
printf( '', ElementorPlugin::instance()->widgets_manager->register_widget_type( new Elementor_GA_bighead() ));
}
Is there anyone who can help with this
I will be grateful
New contributor
Shahriar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.