PluginProbe
پینوا | Pinova / trunk
پینوا | Pinova vtrunk
pinova / src / Admin / Menu.php

Menu.php in پینوا | Pinova trunk, at src/Admin/Menu.php

76 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Pinova\Admin;
4
5 class Menu {
6
7 public string $plugin_file = 'pinova/pinova.php';
8
9 public function __construct() {
10 add_action( 'admin_menu', [ $this, 'admin_menu' ], 20 );
11 add_filter( 'plugin_action_links_' . $this->plugin_file, [ $this, 'settings_action' ], 100 );
12 add_filter( 'plugin_row_meta', [ $this, 'plugin_row_meta' ], 10, 2 );
13
14 Settings::instance();
15 }
16
17 public function admin_menu() {
18
19 add_menu_page( 'پینوا', 'پینوا', 'manage_options', 'pinova', null, PINOVA_URL . 'assets/images/pinova.svg', '55.8' );
20
21 $submenus = [
22 10 => [
23 'title' => 'تنظی�
24 ات',
25 'capability' => 'manage_options',
26 'slug' => 'pinova',
27 'callback' => [ Settings::class, 'render' ],
28 ],
29 20 => [
30 'title' => '�
31 سدودی‌ها',
32 'capability' => 'manage_options',
33 'slug' => 'pinova-blocks',
34 'callback' => function () {
35 include PINOVA_DIR . '/templates/admin/blocks.php';
36 },
37 ],
38 ];
39
40 $submenus = apply_filters( 'pinova/submenus', $submenus );
41
42 foreach ( $submenus as $submenu ) {
43 add_submenu_page( 'pinova', $submenu['title'], $submenu['title'], $submenu['capability'], $submenu['slug'], $submenu['callback'] );
44 }
45
46 }
47
48 public function settings_action( array $actions ): array {
49
50 $actions['settings'] = sprintf( '<a href="%s" target="blank">%s</a>', admin_url( 'admin.php?page=pinova' ), 'تنظی�
51 ات' );
52
53 $brand = [
54 'woo_ir' => sprintf( '<a href="%s" target="blank" style="background: #763ec2;color: white;padding: 0px 5px;border-radius: 2px;">%s</a>', 'https://woocommerce.ir', 'ووکا�
55 رس فارسی' ),
56 ];
57
58 return $brand + $actions;
59 }
60
61 public function plugin_row_meta( array $plugin_meta, $plugin_file ): array {
62
63 if ( $plugin_file != $this->plugin_file ) {
64 return $plugin_meta;
65 }
66
67 $plugin_meta['document'] = sprintf(
68 '<a href="%s" target="_blank"><span class="dashicons dashicons-media-document"></span> �
69 ستندات</a>',
70 esc_url( 'https://www.aparat.com/playlist/25107706/' )
71 );
72
73 return $plugin_meta;
74 }
75 }
76