Frage

Ich suche nach einer Möglichkeit, den gesamten unempfindlichen Text aus Standard -Worpdress -Metaboxen zu entfernen.

Vorzugsweise möchte ich sicherstellen, dass der Inhalt nicht nur durch CSS versteckt ist, sondern tatsächlich aus der HTML entfernt wird, sodass er nicht einmal in der Quelle angezeigt wird.

Zu den Bereichen, an denen ich interessiert bin, gehören:

  1. Die Schaltfläche Hilfe oben rechts und assoziiert div/html/text, wenn Sie darauf klicken
  2. Auf dem Dashboard im Moment im Metabox möchte ich den Text entfernen, mit dem das Thema verwendet wird, und die Version von WordPress sowie die Schaltfläche "Änderungsthema".
  3. Auf den "Seitenattributen" metabox unten hat es den Text "Benötigen Sie Hilfe? Verwenden Sie die Registerkarte Hilfe oben rechts auf Ihrem Bildschirm." Ich möchte, dass dieser Text entfernt wird
  4. Unter dem "Auszug metabox" gibt es Text, den ich entfernen möchte
  5. Jeder andere Text, den Sie möglicherweise auch wissen, wie Sie es entfernen können, um WordPress zu reinigen.
War es hilfreich?

Lösung

Hier ist eine Antwort auf Frage 1. Im Moment nicht genug Zeit, um den Rest zu tun.

1.) Schaltfläche Administratorhilfeverknüpfung entfernen

Leider bietet WordPress keinen Haken, damit Sie die Hilfebutton oben rechts im Administrator beeinflussen, aber Sie können a verwenden etwas schmutziger Hack um das zu erreichen, was Sie erreichen möchten.

Jetzt siehst du es:

Help Link Button in WordPress Admin
(Quelle: mikeschinkel.com)

Jetzt nicht:

Help Link Button Removed in WordPress Admin
(Quelle: mikeschinkel.com)

Durch Anruf die contextual_help und admin_notices Hooks, die unmittelbar vor und unmittelbar danach aufgerufen werden, können Sie den Ausgangspuffer erfassen und das beleidigende HTML mithilfe der beleidigenden HTML entfernen preg_replace(). Das ob_start()/ob_get_clean() Funktionen in PHP sind das, was Sie für die Pufferausgabe benötigen und dann diese gepufferte Ausgabe erfassen, Viola:

class RemoveAdminHelpLinkButton {
  static function on_load() {
    add_filter('contextual_help',array(__CLASS__,'contextual_help'));
    add_action('admin_notices',array(__CLASS__,'admin_notices'));
  }
  static function contextual_help($contextual_help) {
    ob_start();
    return $contextual_help;
  }
  static function admin_notices() {
    echo preg_replace('#<div id="contextual-help-link-wrap".*>.*</div>#Us','',ob_get_clean());
  }
}
RemoveAdminHelpLinkButton::on_load();

Im Allgemeinen können Sie diese Technik verwenden, um fast jede von WordPress generierte HTML -Ausgabe zu ändern oder zu löschen, indem Sie die Vorher- und Nachher -Haken finden, sich jedoch bewusst sind, dass es sich um eine sehr fragile Technik handelt. Wenn ein anderes Plugin die HTML -Ausgabe von dem geändert hat, was Sie mit Ihrem erwarteten preg_replace() könnte nicht übereinstimmen. Wie auch immer...

3.) Entfernen von Hilfe Text aus Seite Attribute Metabox

Um den Hilfstext für die Seitenattribute zu entfernen. Metabox erfordert keine regelmäßigen Ausdrücke, ein einfaches str_replace() Wird besorgt. (Beachten Sie, dass das Finden der richtigen Haken die meiste Zeit brauchte.):

class RemovePageAttributesHelpText {
  static function on_load() {
    add_action('admin_notices',array(__CLASS__,'admin_notices'));
    add_action('dbx_post_sidebar',array(__CLASS__,'dbx_post_sidebar'));
  }
  static function admin_notices() {
    ob_start();
  }
  static function dbx_post_sidebar() {
    $match_text = '<p>Need help? Use the Help tab in the upper right of your screen.</p>';
    echo str_replace($match_text,'',ob_get_clean());
  }
}
RemovePageAttributesHelpText::on_load();

Es gibt auch einen anderen Ansatz, den Sie verwenden können, wenn alles, was Sie tun möchten 'gettext' Haken. Der folgende Code beseitigt den Hilfetext aus den Seitenattributen Metabox:

class RemovePageAttributesHelpText {
  static function on_load() {
    add_filter('gettext',array(__CLASS__,'gettext'),10,4);
  }
  function gettext($translation, $text, $domain) {
    if ($text=='Need help? Use the Help tab in the upper right of your screen.') {
      $translation = '';
    }
    return $translation;
  }
}
RemovePageAttributesHelpText::on_load();

Beachten Sie, dass ich vorsichtig bin, diesen Haken zu verwenden, da er hunderte Male pro Seitenladung aufgerufen wird. 577 Mal nur zum Laden des Admin -Dashboards, falls ich beispielsweise nur getestet habe. Wenn Sie es verwenden, sollten Sie sicher nichts tun, was rechnerisch ist "teuer" wie eine rohe SQL -Abfrage oder ähnliches auszuführen.

4.) Text aus dem entfernen "Auszug metabox"

Wir werden Option Nr. 2 aus Technik Nr. 3 verwenden, um den Hilfetext aus dem Auszug Metabox zu entfernen (Dieser habe den Code aus Technik Nr. 3 eingeschlossen, sodass dieser den Code in #3 ersetzt.):

class RemoveUnwantedPageEditingText {
  static function on_load() {
    add_action('admin_notices',array(__CLASS__,'admin_notices'));
    add_action('dbx_post_sidebar',array(__CLASS__,'dbx_post_sidebar'));
  }
  static function admin_notices() {
    ob_start();
  }
  static function dbx_post_sidebar() {
    $html = str_replace('<p>Need help? Use the Help tab in the upper right of your screen.</p>','',ob_get_clean());
    echo str_replace('Excerpts are optional hand-crafted summaries of your content that can be used in your theme.' .
     ' <a href="http://codex.wordpress.org/Excerpt" target="_blank">Learn more about manual excerpts.</a>','',$html);
  }
}
RemoveUnwantedPageEditingText::on_load();

Andere Tipps

Jake Goldmans ausgezeichneter Vortrag im Wordcamp Mid-Atlantic bietet einen hervorragenden Leitfaden: http://www.cmurrayconsulting.com/wordpress-tips/customizing-wordpress-admin/#more-939

Laden Sie das gut geförderte Thema herunter, das unterhalb der Diashow erscheint. (Er fragt, dass Sie ihn bitte in Ihren Code -Kommentaren zuschreiben, wenn Sie seinen Code verwenden.)

Er erwähnt, dass Sie alle Widget -IDs wie folgt erhalten können: var_dump ($ wp_meta_boxes ['Dashboard']);

Sie könnten: Unset ($ wp_meta_boxes ['Dashboard'] ['normal'] ['Core'] ['Dashboard_Right_Now']);

Fügen Sie dann Ihr eigenes Widget mit wp_add_dashboard_widget () hinzu.

Schauen Sie sich wp-admin/include/Dashboard.php für die Funktion, wp_dashboard_right_now () an, um ein Modell für das hinzufügen (nach gewünschten Themeninformationen zu löschen).

Funktionen.php

<?php
/*
Based on Jake Goldman's approach
*/

add_action('wp_dashboard_setup', 'custom_dashboard_widgets');

function custom_dashboard_widgets(){
global $wp_meta_boxes;
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
wp_add_dashboard_widget('my_dashboard_right_now', 'Right Now', 'right_now_no_theme'); 
}

function right_now_no_theme() {
        global $wp_registered_sidebars;

        $num_posts = wp_count_posts( 'post' );
        $num_pages = wp_count_posts( 'page' );

        $num_cats  = wp_count_terms('category');

        $num_tags = wp_count_terms('post_tag');

        $num_comm = wp_count_comments( );

        echo "\n\t".'<div class="table table_content">';
        echo "\n\t".'<p class="sub">' . __('Content') . '</p>'."\n\t".'<table>';
        echo "\n\t".'<tr class="first">';

        // Posts
        $num = number_format_i18n( $num_posts->publish );
        $text = _n( 'Post', 'Posts', intval($num_posts->publish) );
        if ( current_user_can( 'edit_posts' ) ) {
                $num = "<a href='edit.php'>$num</a>";
                $text = "<a href='edit.php'>$text</a>";
        }
        echo '<td class="first b b-posts">' . $num . '</td>';
        echo '<td class="t posts">' . $text . '</td>';

        echo '</tr><tr>';
        /* TODO: Show status breakdown on hover
        if ( $can_edit_pages && !empty($num_pages->publish) ) { // how many pages is not exposed in feeds.  Don't show if !current_user_can
                $post_type_texts[] = '<a href="edit-pages.php">'.sprintf( _n( '%s page', '%s pages', $num_pages->publish ), number_format_i18n( $num_pages->publish ) ).'</a>';
        }
        if ( $can_edit_posts && !empty($num_posts->draft) ) {
                $post_type_texts[] = '<a href="edit.php?post_status=draft">'.sprintf( _n( '%s draft', '%s drafts', $num_posts->draft ), number_format_i18n( $num_posts->draft ) ).'</a>';
        }
        if ( $can_edit_posts && !empty($num_posts->future) ) {
                $post_type_texts[] = '<a href="edit.php?post_status=future">'.sprintf( _n( '%s scheduled post', '%s scheduled posts', $num_posts->future ), number_format_i18n( $num_posts->future ) ).'</a>';
        }
        if ( current_user_can('publish_posts') && !empty($num_posts->pending) ) {
                $pending_text = sprintf( _n( 'There is <a href="%1$s">%2$s post</a> pending your review.', 'There are <a href="%1$s">%2$s posts</a> pending your review.', $num_posts->pending ), 'edit.php?post_status=pending', number_format_i18n( $num_posts->pending ) );
        } else {
                $pending_text = '';
        }
        */

        // Pages
        $num = number_format_i18n( $num_pages->publish );
        $text = _n( 'Page', 'Pages', $num_pages->publish );
        if ( current_user_can( 'edit_pages' ) ) {
                $num = "<a href='edit.php?post_type=page'>$num</a>";
                $text = "<a href='edit.php?post_type=page'>$text</a>";
        }
        echo '<td class="first b b_pages">' . $num . '</td>';
        echo '<td class="t pages">' . $text . '</td>';

        echo '</tr><tr>';

        // Categories
        $num = number_format_i18n( $num_cats );
        $text = _n( 'Category', 'Categories', $num_cats );
        if ( current_user_can( 'manage_categories' ) ) {
                $num = "<a href='edit-tags.php?taxonomy=category'>$num</a>";
                $text = "<a href='edit-tags.php?taxonomy=category'>$text</a>";
        }
        echo '<td class="first b b-cats">' . $num . '</td>';
        echo '<td class="t cats">' . $text . '</td>';

        echo '</tr><tr>';

        // Tags
        $num = number_format_i18n( $num_tags );
        $text = _n( 'Tag', 'Tags', $num_tags );
        if ( current_user_can( 'manage_categories' ) ) {
                $num = "<a href='edit-tags.php'>$num</a>";
                $text = "<a href='edit-tags.php'>$text</a>";
        }
        echo '<td class="first b b-tags">' . $num . '</td>';
        echo '<td class="t tags">' . $text . '</td>';

        echo "</tr>";
        do_action('right_now_content_table_end');
        echo "\n\t</table>\n\t</div>";


        echo "\n\t".'<div class="table table_discussion">';
        echo "\n\t".'<p class="sub">' . __('Discussion') . '</p>'."\n\t".'<table>';
        echo "\n\t".'<tr class="first">';

        // Total Comments
        $num = '<span class="total-count">' . number_format_i18n($num_comm->total_comments) . '</span>';
        $text = _n( 'Comment', 'Comments', $num_comm->total_comments );
        if ( current_user_can( 'moderate_comments' ) ) {
                $num = '<a href="edit-comments.php">' . $num . '</a>';
                $text = '<a href="edit-comments.php">' . $text . '</a>';
        }
        echo '<td class="b b-comments">' . $num . '</td>';
        echo '<td class="last t comments">' . $text . '</td>';

        echo '</tr><tr>';

        // Approved Comments
        $num = '<span class="approved-count">' . number_format_i18n($num_comm->approved) . '</span>';
        $text = _nx( 'Approved', 'Approved', $num_comm->approved, 'Right Now' );
        if ( current_user_can( 'moderate_comments' ) ) {
                $num = "<a href='edit-comments.php?comment_status=approved'>$num</a>";
                $text = "<a class='approved' href='edit-comments.php?comment_status=approved'>$text</a>";
        }
        echo '<td class="b b_approved">' . $num . '</td>';
        echo '<td class="last t">' . $text . '</td>';

        echo "</tr>\n\t<tr>";

        // Pending Comments
        $num = '<span class="pending-count">' . number_format_i18n($num_comm->moderated) . '</span>';
        $text = _n( 'Pending', 'Pending', $num_comm->moderated );
        if ( current_user_can( 'moderate_comments' ) ) {
                $num = "<a href='edit-comments.php?comment_status=moderated'>$num</a>";
                $text = "<a class='waiting' href='edit-comments.php?comment_status=moderated'>$text</a>";
        }
        echo '<td class="b b-waiting">' . $num . '</td>';
        echo '<td class="last t">' . $text . '</td>';

        echo "</tr>\n\t<tr>";

        // Spam Comments
        $num = number_format_i18n($num_comm->spam);
        $text = _nx( 'Spam', 'Spam', $num_comm->spam, 'comment' );
        if ( current_user_can( 'moderate_comments' ) ) {
                $num = "<a href='edit-comments.php?comment_status=spam'><span class='spam-count'>$num</span></a>";
                $text = "<a class='spam' href='edit-comments.php?comment_status=spam'>$text</a>";
        }
        echo '<td class="b b-spam">' . $num . '</td>';
        echo '<td class="last t">' . $text . '</td>';

        echo "</tr>";
        do_action('right_now_table_end');
        do_action('right_now_discussion_table_end');
        echo "\n\t</table>\n\t</div>";

        echo "\n\t".'<div class="versions">';
        $ct = current_theme_info();

        echo "\n\t<p>";
/*
        if ( !empty($wp_registered_sidebars) ) {
                $sidebars_widgets = wp_get_sidebars_widgets();
                $num_widgets = 0;
                foreach ( (array) $sidebars_widgets as $k => $v ) {
                        if ( 'wp_inactive_widgets' == $k )
                                continue;
                        if ( is_array($v) )
                                $num_widgets = $num_widgets + count($v);
                }

                $num = number_format_i18n( $num_widgets );
                $switch_themes = $ct->title;
                if ( current_user_can( 'switch_themes') ) {
                        echo '<a href="themes.php" class="button rbutton">' . __('Change Theme') . '</a>';
                        $switch_themes = '<a href="themes.php">' . $switch_themes . '</a>';
                }
                if ( current_user_can( 'edit_theme_options' ) ) {
                        printf(_n('Theme <span class="b">%1$s</span> with <span class="b"><a href="widgets.php">%2$s Widget</a></span>', 'Theme <span class="b">%1$s</span> with <span class="b"><a href="widgets.php">%2$s Widgets</a></span>', $num_widgets), $switch_themes, $num);
                } else {
                        printf(_n('Theme <span class="b">%1$s</span> with <span class="b">%2$s Widget</span>', 'Theme <span class="b">%1$s</span> with <span class="b">%2$s Widgets</span>', $num_widgets), $switch_themes, $num);
                }
        } else {
                if ( current_user_can( 'switch_themes' ) ) {
                        echo '<a href="themes.php" class="button rbutton">' . __('Change Theme') . '</a>';
                        printf( __('Theme <span class="b"><a href="themes.php">%1$s</a></span>'), $ct->title );
                } else {
                        printf( __('Theme <span class="b">%1$s</span>'), $ct->title );
                }

        }
*/
        echo '</p>';

        update_right_now_message();

        echo "\n\t".'<br class="clear" /></div>';
        do_action( 'rightnow_end' );
        do_action( 'activity_box_end' );
}


?>

Alternativ und sehr einfach: Verwenden Sie das Plugin Adminimieren, Dieses Plugin hat viele Optionen und Sie können Ihre eigenen Optionen hinzufügen. Dieses Plugin ist mein eigenes und ich werde ein neueres Plugin mit besserem Code codieren. Vielleicht hilft es für eine CSUTOM -Lösung, die Quelle zu lesen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top