web-dev-qa-db-ja.com

WordPress 3.8サイトアクティビティダッシュボードウィジェットを拡張してコメントを追加

新しいSite Activityダッシュボードウィジェットは、デフォルトで5つのコメントを表示します。 10を見せたいのですが。

私はそれが関数/wp-admin/includes/dashboard.phpを呼び出し、そしてwp_dashboard_recent_comments ( $total_items = 5 )を使うコアwp_dashboard_site_activityの中のコードを見ることができます。しかし、私はそれを更新するためにこの関数にフックするための構文を知りません。

私は、カスタム機能プラグインを作成してfunctions.phpを編集する方法を知っています。私は構文や使用するフックがわからないのです。

任意の助けは大歓迎です。ありがとう。

7
Dave Warfel

(まだ)これにはフィルタがないようですが、デフォルトのアクティビティウィジェットの登録を解除して(関数内、またはDave Warfelが推奨するプラグイン内で)カスタム設定で同様のアクティビティウィジェットを登録することができます。

// unregister the default activity widget
add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );
function remove_dashboard_widgets() {

    global $wp_meta_boxes;
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']);

}

// register your custom activity widget
add_action('wp_dashboard_setup', 'add_custom_dashboard_activity' );
function add_custom_dashboard_activity() {
    wp_add_dashboard_widget('custom_dashboard_activity', 'Activity', 'custom_wp_dashboard_site_activity');
}

function custom_wp_dashboard_site_activity() {

    echo '<div id="activity-widget">';

    $future_posts = wp_dashboard_recent_posts( array(
        'display' => 2,
        'max'     => 5,
        'status'  => 'future',
        'order'   => 'ASC',
        'title'   => __( 'Publishing Soon' ),
        'id'      => 'future-posts',
    ) );

    $recent_posts = wp_dashboard_recent_posts( array(
        'display' => 2,
        'max'     => 5,
        'status'  => 'publish',
        'order'   => 'DESC',
        'title'   => __( 'Recently Published' ),
        'id'      => 'published-posts',
    ) );

    $recent_comments = wp_dashboard_recent_comments( 10 );

    if ( !$future_posts && !$recent_posts && !$recent_comments ) {
        echo '<div class="no-activity">';
        echo '<p class="smiley"></p>';
        echo '<p>' . __( 'No activity yet!' ) . '</p>';
        echo '</div>';
    }

    echo '</div>';

}
8
Sven