WordPress管理画面の研究2:index.php

前回はファイル構成をみました。

今回は、wordpress/wp-admin/index.phpです。

管理画面の一番最初のファイルです。

コメントと基本の関数ファイルの読み込み

/**
 * Dashboard Administration Panel
 */

/** Load WordPress Bootstrap */
require_once('./admin.php');

/** Load WordPress dashboard API */
require_once(ABSPATH . 'wp-admin/includes/dashboard.php');

管理画面です。
wordpress/wp-admin/admin.phpと、wordpress/wp-admin/includes/dashboard.phpを読み込んでいます。

ウィジェットやJavaScriptなどの読み込み

wp_dashboard_setup();

wp_enqueue_script( 'dashboard' );
wp_enqueue_script( 'plugin-install' );
wp_enqueue_script( 'media-upload' );
wp_admin_css( 'dashboard' );
wp_admin_css( 'plugin-install' );
add_thickbox();

wp_dashboard_setup();は、dashboard.phpで最初に定義されている関数で、その中に、wp_add_dashboard_widget($widget_id, $widget_name, $callback, $control_callback)というダッシュボードに表示されるウィジェットを表示する関数がたくさん入ってます。

wp_enqueue_script()は、JavaScriptファイルをロードする関数です。
wp_admin_css()は、cssファイルをロードする関数です。
add_thickbox()は、投稿画面で画像をアップロードするときにポップアップというかモーダルウィンドウというか、あの効果を使うためのJSやcssが読み込まれます。

変数

$title = __('Dashboard');
$parent_file = 'index.php';

タイトルや親ファイル。

ヘルプメッセージ

add_contextual_help($current_screen,

	'<p>' . __('Welcome to your WordPress Dashboard! You will find helpful tips in the Help tab of each screen to assist you as you get to know the application.') . '</p>' .
	'<p>' . __('The left-hand navigation menu provides links to the administration screens in your WordPress application. You can expand or collapse navigation sections by clicking on the arrow that appears on the right side of each navigation item when you hover over it. You can also minimize the navigation menu to a narrow icon strip by clicking on the separator lines between navigation sections that end in double arrowheads; when minimized, the submenu items will be displayed on hover.') . '</p>' .
	'<p>' . __('You can configure your dashboard by choosing which modules to display, how many columns to display them in, and where each module should be placed. You can hide/show modules and select the number of columns in the Screen Options tab. To rearrange the modules, drag and drop by clicking on the title bar of the selected module and releasing when you see a gray dotted-line box appear in the location you want to place the module. You can also expand or collapse each module by clicking once on the the module&#8217;s title bar. In addition, some modules are configurable, and will show a &#8220;Configure&#8221; link in the title bar when you hover over it.') . '</p>' .
	'<p>' . __('The modules on your Dashboard screen are:') . '</p>' .
	'<p>' . __('<strong>Right Now</strong> - Displays a summary of the content on your site and identifies which theme and version of WordPress you are using.') . '</p>' .
	'<p>' . __('<strong>Recent Comments</strong> - Shows the most recent comments on your posts (configurable, up to 30) and allows you to moderate them.') . '</p>' .
	'<p>' . __('<strong>Incoming Links</strong> - Shows links to your site found by Google Blog Search.') . '</p>' .
	'<p>' . __('<strong>QuickPress</strong> - Allows you to create a new post and either publish it or save it as a draft.') . '</p>' .
	'<p>' . __('<strong>Recent Drafts</strong> - Displays links to the 5 most recent draft posts you&#8217;ve started.') . '</p>' .
	'<p>' . __('<strong>Other WordPress News</strong> - Shows the feed from <a href="http://planet.wordpress.org" target="_blank">WordPress Planet</a>. You can configure it to show a different feed of your choosing.') . '</p>' .
	'<p>' . __('<strong>Plugins</strong> - Features the most popular, newest, and recently updated plugins from the WordPress.org Plugin Directory.') . '</p>' .
	'<p><strong>' . __('For more information:') . '</strong></p>' .
	'<p>' . __('<a href="http://codex.wordpress.org/Dashboard_SubPanel" target="_blank">Dashboard Documentation</a>') . '</p>' .
	'<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
);

管理画面右上の、「ヘルプ」というところをクリックすると出てくる、管理画面のお助けコンテンツです。
多分、一つ目の引数で表示場所を指定して、2個目の引数でメッセージ内容を記述。

HTMLソースを作る

最後に、色々と組み合わせてHTMLを作ってます。

require_once('./admin-header.php');

$today = current_time('mysql', 1);
?>

<div class="wrap">
<?php screen_icon(); ?>
<h2><?php echo esc_html( $title ); ?></h2>

<div id="dashboard-widgets-wrap">

<?php wp_dashboard(); ?>

<div class="clear"></div>
</div><!-- dashboard-widgets-wrap -->

</div><!-- wrap -->

<?php require(ABSPATH . 'wp-admin/admin-footer.php'); ?>

admin-header.php読み込み、タイトル書き出し、wp_dashboard()、admin-footer.php読み込みです。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

著者について

コメント

コメントする

目次
閉じる