paulop
  • 0
Новичок

Удалить тему, изменить кнопку темы и версию WP на панели администратора «Прямо сейчас»?

  • 0

Я ищу способ удалить тему, изменить кнопку темы и версию WP с панели администратора «прямо сейчас», но используя только функции. Любая помощь?

Share
  1. Ах, одна из тех вещей, которые кажутся простыми, пока внутренности панели администратора не повергнут вас в пучину отчаяния. 🙂

    По сути, нет простого и преднамеренного способа сделать это, поэтому нужно проявить творческий подход. Моя идея заключалась бы в том, чтобы временно переопределить пару возможностей, которые контролируют части вывода, и убить остальные с помощью фильтров в механизмах перевода.

    PS хм, пока я с этим возился, мне проскользнуло, что вы хотите поменять какую-то часть, а не удалить все. Ну, вы можете просто удалить и создать свой собственный вывод или создать поверх фильтра перевода. Смотрите wp_dashboard_right_now() источник, чтобы узнать, что находится внутри этого виджета.

    add_action('right_now_discussion_table_end','turn_off_caps');
    add_action('rightnow_end','turn_on_caps');
    
    function turn_off_caps() {
    
        add_filter('ngettext','disable_theme');
        add_filter('map_meta_cap','disable_caps',10,2);
    }
    
    function turn_on_caps() {
    
        remove_filter('ngettext','disable_theme');
        remove_filter('map_meta_cap','disable_caps',10,2);
    }
    
    function disable_caps($caps,$cap) {
    
        if( 'update_core' == $cap )
                $caps[] = 'do_not_allow';
    
        if( 'switch_themes' == $cap )
                $caps[] = 'do_not_allow';
    
        return $caps;
    }
    
    function disable_theme($text) {
    
        if('Theme' == substr($text,0,5))
            return '';
    
        return $text;
    }
    
    • 0
  2. Я нашел простой способ убить обновление в разделе «Прямо сейчас», и он ничего не ломает. Вот он (я работаю с wordpress 3.3.1, и он отлично работал, ничего не ломая. Найдите эту строку кода:

        // Called directly from dashboard
        function update_right_now_message() {
    $msg = sprintf( __('You are using <span class="b">WordPress %s</span>.'), $GLOBALS['wp_version'] );
    if ( current_user_can('update_core') ) {
        $cur = get_preferred_from_update_core();
        if ( isset( $cur->response ) && $cur->response == 'upgrade'  )
            $msg .= " <a href='" . network_admin_url( 'update-core.php' ) . "' class='button'>" . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . '</a>';
    }
    echo "<span id='wp-version-message'>$msg</span>";
        }
    

    Теперь замените нижнюю строку этого кода на все, что хотите, или оставьте ее пустой. Я использовал следующее:

        }
    echo "<p>Stef Stole The Update Button!?!?</p>";
        }
    

    это работает, ничего не ломая, и помогает остановить случайные обновления, которые я нашел

    • 0

Оставить ответ

You must login to add an answer.