質問編集履歴

3

ご回答いただいたヒントを元にコード修正

2018/03/26 08:01

投稿

Yucchi
Yucchi

スコア29

test CHANGED
File without changes
test CHANGED
@@ -103,3 +103,71 @@
103
103
  /* END 各固定ページの編集画面へのリンクボタンを設置 */
104
104
 
105
105
  ```
106
+
107
+
108
+
109
+ ヒントを頂いて上記のコードを下記の状態まで修正いたしました。
110
+
111
+ しかし、この状態では希望した表示にはならないようです…プログラミングはまだまだ分からないのでどなたかこの先どうすればいいかお教えください。
112
+
113
+ ```javascript
114
+
115
+ function example_dashboard_widget_function() {
116
+
117
+ echo "<ul class='adminmenu'>";
118
+
119
+ $new = new WP_Query(array(
120
+
121
+ 'post_type' => 'page', /* イベント投稿タイプ */
122
+
123
+ 'category_name' => 'new', /* カテゴリのスラッグを指定 */
124
+
125
+ 'post_status' => 'publish', /* 公開している */
126
+
127
+
128
+
129
+ ));
130
+
131
+ foreach( $new as $page ){
132
+
133
+ if ( $new->have_posts() ) :
134
+
135
+ while ( $new->have_posts() ) : $new->the_post();
136
+
137
+ echo '<li><a href="post.php?post='. $page->ID . '&action=edit"><div class="dashicons fa fa-pencil-square-o"></div><p>' . $page->post_title . '<br>ページ編集</p></a></li>';
138
+
139
+ endwhile;
140
+
141
+ endif;
142
+
143
+ }
144
+
145
+ wp_reset_postdata();
146
+
147
+ echo "</ul>";
148
+
149
+ }
150
+
151
+ function example_add_dashboard_widgets() {
152
+
153
+ wp_add_dashboard_widget('example_dashboard_widget', '各固定ページの編集', 'example_dashboard_widget_function');
154
+
155
+ global $wp_meta_boxes;
156
+
157
+ $normal_dashboard = $wp_meta_boxes['dashboard']['normal']['core'];
158
+
159
+ $example_widget_backup = array('example_dashboard_widget' => $normal_dashboard['example_dashboard_widget']);
160
+
161
+ unset($normal_dashboard['example_dashboard_widget']);
162
+
163
+ $sorted_dashboard = array_merge($example_widget_backup, $normal_dashboard);
164
+
165
+ $wp_meta_boxes['dashboard']['normal']['core'] = $sorted_dashboard;
166
+
167
+ }
168
+
169
+ add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );
170
+
171
+
172
+
173
+ ```

2

内容の詳細を追加

2018/03/26 08:01

投稿

Yucchi
Yucchi

スコア29

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,16 @@
1
+ まず、サイト構造上固定ページにカテゴリーを付けれるようにfunctions.phpに追記し、オリジナルのダッシュボードウィジェットを使用するため管理しやすいようadmin-menu.phpというファイルを読みこむよう設定しました。
2
+
3
+
4
+
1
- Wordpressの管理画面ダッシュボードに各固定ページの編集画面へのリンクボタンを設置したのですが、
5
+ admin-menu.phpの中でWordpressの管理画面ダッシュボードに各固定ページの編集画面へのリンクボタンを設置したのですが、
2
6
 
3
7
  ページが多すぎてすべてのページを呼び出すととても探しにくくなっています。
4
8
 
9
+ ページが増える可能性があるので、ページIDで呼び出すのではなくforsearchでページを呼び出しています。
10
+
11
+
12
+
5
- なので、このボタンをカテゴリーごとに違うパネルで表示できたらいいと思っています。
13
+ 今回はこのボタンをカテゴリーごとに違うパネルで表示できたらいいと思っています。
6
14
 
7
15
 
8
16
 
@@ -15,6 +23,46 @@
15
23
 
16
24
 
17
25
  ```javascript
26
+
27
+ //functions.php
28
+
29
+ /* 固定ページにカテゴリーを付ける */
30
+
31
+ add_action('init','add_categories_for_pages');
32
+
33
+ function add_categories_for_pages(){
34
+
35
+ register_taxonomy_for_object_type('category', 'page');
36
+
37
+ }
38
+
39
+ add_action( 'pre_get_posts', 'nobita_merge_page_categories_at_category_archive' );
40
+
41
+ function nobita_merge_page_categories_at_category_archive( $query ) {
42
+
43
+ if ( $query->is_category== true && $query->is_main_query() ) {
44
+
45
+ $query->set('post_type', array( 'post', 'page', 'nav_menu_item'));
46
+
47
+ }
48
+
49
+ }
50
+
51
+ /* END 固定ページにカテゴリーを付ける */
52
+
53
+
54
+
55
+ /* オリジナルダッシュボードウィジェットを追加 */
56
+
57
+ require get_template_directory() . '/adminmenu/admin-menu.php';
58
+
59
+ ```
60
+
61
+ ```javascript
62
+
63
+ //admin-menu.php
64
+
65
+ /* 各固定ページの編集画面へのリンクボタンを設置 */
18
66
 
19
67
  function example_dashboard_widget_function() {
20
68
 
@@ -52,4 +100,6 @@
52
100
 
53
101
  add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );
54
102
 
103
+ /* END 各固定ページの編集画面へのリンクボタンを設置 */
104
+
55
105
  ```

1

誤字

2018/03/16 00:56

投稿

Yucchi
Yucchi

スコア29

test CHANGED
@@ -1 +1 @@
1
- Wordpressダッシュボード上固定ページ編集画面へのリンクボタンをカテゴリーごとに呼び出したい
1
+ Wordpressダッシュボード上固定ページ編集画面へのリンクボタンをカテゴリーごとに呼び出したい
test CHANGED
File without changes