Domanda

Sto cercando un modo per rimuovere tutto il testo unessesary da Metabox predefinita worpdress.

Preferibilmente vorrei garantire che il contenuto non è solo nascosto tramite CSS, ma in realtà rimosso dal HTML in modo che non mostra nemmeno nella sorgente.

Le zone Sono interessato a rimuovere includono:

  1. Il pulsante Guida in alto a destra ed associando DIV / HTML / testo quando si fa clic su di esso
  2. Nella Dashboard nel Right Now Metabox voglio rimuovere il testo relativo al quale tema viene utilizzato e la versione di WordPress, così come il pulsante di cambiamento tema.
  3. Nella "Attributi di pagina" METABOX sul fondo ha il testo "Bisogno d'aiuto? Utilizzare la scheda Guida in alto a destra dello schermo." Vorrei per questo testo da rimuovere
  4. Sotto il testo "Estratto Metabox" non c'è che vorrei rimuovere
  5. Qualsiasi altro testo che si potrebbe anche sapere come rimuovere per la pulizia wordpress.
È stato utile?

Soluzione

Ecco una risposta alla domanda # 1. Non abbastanza tempo in questo momento per fare il resto.

1.) Rimozione Pulsante Admin link

Purtroppo WordPress non fornisce un gancio che consente di influenzare il pulsante Guida in alto a destra della admin, ma è possibile utilizzare un un po 'sporca mod per ottenere ciò che si sta cercando di realizzare.

Come potete vedere,:

Tasto Aiuto link in WordPress Admin
(fonte: mikeschinkel.com )

Ora non:

Tasto Aiuto link Rimosso in WordPress Admin
(fonte: mikeschinkel.com )

Chiamando i ganci contextual_help e admin_notices, quelli che sono chiamati immediatamente prima e immediatamente dopo, quando il pulsante di aiuto collegamento è uscita rispettivamente, è possibile catturare il buffer di uscita e rimuovere il incriminato HTML usando preg_replace(). La coppia ob_start() / ob_get_clean() di funzioni in PHP sono ciò che è necessario per tamponare l'uscita e poi alla cattura che la produzione tamponata, 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();

In generale, è possibile utilizzare questa tecnica per modificare o eliminare quasi ogni output HTML generato da WordPress trovando il prima e dopo ganci, ma essere consapevoli che si tratta di una tecnica molto fragile; se un altro plug-in ha modificato l'output HTML da quello che ti aspettavi il tuo preg_replace() poteva non partita. Comunque ...

3.) Rimozione Aiuto testo dalla pagina Attributi Metabox

Per rimuovere il testo di aiuto per la Attributi di pagina METABOX non richiede le espressioni regolari, una semplice str_replace() farà. (Nota trovare i ganci diritto di utilizzare preso più tempo.) :

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();

C'è anche un altro approccio è possibile utilizzare quando tutto quello che vuole fare è rimuovere il testo dal core e di quella di utilizzare il gancio 'gettext'. Il codice seguente rimuove il testo di aiuto dal Attributi di pagina 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();

Si noti che io sono prudente utilizzare questo gancio come viene chiamato centinaia di volte al caricamento della pagina; 577 volte solo per caricare la Dashboard di amministrazione nel caso in cui ho appena provato, per esempio. Quindi, se lo si utilizza essere sicuri di non fare nulla che è computazionalmente "costoso" come l'esecuzione di una query SQL crudo o simile.

4.) La cancellazione di testo dal "Estratto Metabox"

Useremo opzione # 2 da tecnica # 3 per mettere a nudo il testo di aiuto dalla Estratto Metabox (questo ho inserito il codice tecnica # 3 quindi questo sostituisce il codice a # 3) :

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();

Altri suggerimenti

ottimo intervento di Jake Goldman al WordCamp Mid-Atlantic offre una guida eccellente: http://www.cmurrayconsulting.com/wordpress-tips/customizing-wordpress-admin/#more-939

Scarica il tema ben commentato che appare sotto la presentazione. (Chiede che se si utilizza il suo codice, si attribuiscili a lui nei tuoi commenti di codice.)

Si ricorda che è possibile ottenere tutti gli ID dei widget come segue: var_dump ($ wp_meta_boxes [ 'cruscotto']);

Si potrebbe: unset ($ wp_meta_boxes [ 'cruscotto'] [ 'normale'] [ 'nucleo'] [ 'dashboard_right_now']);

Quindi aggiungere la tua widget di utilizzare wp_add_dashboard_widget ().

Cerca in wp-admin / include / dashboard.php per la funzione, wp_dashboard_right_now () per un modello per quello di aggiungere (l'eliminazione di Informazione, se lo desideri.)

functions.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 e molto facile: usare il plugin Adminimize , questo plugin hanno molte opzioni e si può aggiungere le proprie opzioni. Questo plugin è il mio e io sarà la codifica di un plug-in più recente con codice migliore. Forse il suo aiuto per una soluzione csutom per leggere il sorgente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top