Также не стоит исключать вариант, что, возможно, будет быстрее и дешевле заменить названия классов в верстке.
ul.submenu>li>a
, но в верстке подменю формируется div.dropdown-menu>a.dropdown-item
. Сейчас пробовал адаптировать класс Walker, брал с kama — классы не встали (сайт крашился), взял класс из include/, как раз таки не смог поменять разметку ul на div :(ul.submenu
в div.dropdown-menu
li>a
в a.dropdown-item
// Запрет использования customize (.../wp-admin/customize.php)
add_filter( 'map_meta_cap', function ( $caps, $cap, $user_id, $args ) {
if ( 'customize' == $cap ) {
return [ 'do_not_allow' ];
}
return $caps;
}, 10, 4 );
return [ 'do_not_allow' ];
add_filter( 'map_meta_cap', function ( $caps, $cap, $user_id, $args ) {
if ( 'customize' == $cap ) {
return wp_redirect( home_url() );
}
return $caps;
}, 10, 4 );
Быстро делается на этапе разработки, клиенту очень удобно визуально все настраивать c предпросмотром.
/wp-admin/customize.php
, то появиться предупреждение:// Удаление пункта «Настроить» в административной части сайта
add_action( 'admin_menu', function (){
global $submenu;
if ( isset( $submenu['themes.php'] ) ) {
foreach ( $submenu['themes.php'] as $index => $menu_item ) {
if ( in_array( 'customize', $menu_item ) ) {
unset( $submenu['themes.php'][ $index ] );
}
}
}
});
// Запрет использования customize (.../wp-admin/customize.php)
add_filter( 'map_meta_cap', function ( $caps, $cap, $user_id, $args ) {
if ( 'customize' == $cap ) {
return [ 'do_not_allow' ];
}
return $caps;
}, 10, 4 );
display: none
gпочему-то не сработал. Хотя класс у пункта настроить такой. function get_events()
{
global $wpdb;
$events = $wpdb->get_results(
"
SELECT post_id, post_status, meta_value
FROM $wpdb->postmeta
JOIN $wpdb->posts
ON $wpdb->postmeta.post_id=$wpdb->posts.id
WHERE meta_key = 'data-provedeniya' AND post_status = 'publish'
"
);