Skip to content

Instantly share code, notes, and snippets.

@eto4detak
Last active July 23, 2019 08:25
Show Gist options
  • Save eto4detak/b962a92361649d7fb6f1576e05b09e7c to your computer and use it in GitHub Desktop.
Save eto4detak/b962a92361649d7fb6f1576e05b09e7c to your computer and use it in GitHub Desktop.
wp php admin_menu
<?php
// add admin page
function stickertime_admin_menu_options()
{
add_menu_page('StickerTime Menu','StickerTime','manage_options','stickertimeadmin','stickertime_admin_page','dashicons-excerpt-view',2);
}
add_action('admin_menu','stickertime_admin_menu_options');
//****************admin*********************
//страница настроек
add_action('admin_menu', 'compare_cars_wc_submenu_page_url', 999);
function compare_cars_wc_submenu_page_url() {
add_submenu_page( 'edit.php?post_type=pixad-autos', 'Страница сравнения', 'Страница сравнения', 'manage_options', 'compare-cars', 'compare_cars_submenu_page' );
}
function compare_cars_submenu_page(){
?>
<div class="wrap">
<h3><?php echo get_admin_page_title() ?></h3>
<form action="options.php" method="POST">
<?php
settings_fields( 'compare_opt_gr' );
do_settings_sections( 'compare_page1' );
submit_button();
?>
</form>
</div>
<?php
}
add_action('admin_init', 'compare_cars_settings_page');
function compare_cars_settings_page(){
register_setting( 'compare_opt_gr', 'compare_cars_templ', 'compare_sanitize_clb' );
add_settings_section( 'section_id', 'Основные настройки', '', 'compare_page1' );
add_settings_field('primer_field1', 'Страница сравнения авто', 'compare_fields_display', 'compare_page1', 'section_id' );
}
function compare_fields_display(){
$val = get_option('compare_cars_templ');
$template = !empty($val['template']) ? $val['template'] : -1;
?>
<select name="compare_cars_templ[template]">
<option value="-1">
<?php echo esc_attr( __( 'Select page' ) ); ?></option>
<?php
$pages = get_pages();
foreach ( $pages as $page ) {
$option = '<option value="' . $page->ID . '" ' . selected( $template, $page->ID ) . '>';
$option .= $page->post_title;
$option .= '</option>';
echo $option;
}
?>
</select>
<?php
}
function compare_sanitize_clb( $options ){
return $options;
}
//****************end admin*********************
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment