PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 3.8.9
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v3.8.9
4.9.2 4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 All 200 releases
← All changes | includes/REST/CategoryField.php +5 -38 4.8.23.8.9 View file →
@@ -12,26 +12,9 @@
12 12 $this->register_field(
13 13 'doc_category',
14 14 'doc_category_order',
15 15 [
16 - 'get_callback' => [ $this, 'doc_category_order' ],
17 - 'update_callback' => [ $this, 'update_doc_category_order' ],
18 - // Explicit schema — otherwise BaseAPI's default (a string "thumbnail
19 - // URL" schema) applies and the React slide-over's integer order write
20 - // fails validation with "not of type string".
21 - 'schema' => [
22 - 'description' => 'BetterDocs doc category display order.',
23 - 'type' => [ 'integer', 'null' ],
24 - 'context' => [ 'view', 'edit' ],
25 - // Skip the built-in type check and coerce to int|null ourselves
26 - // (a null/empty value is a no-op upstream).
27 - 'arg_options' => [
28 - 'validate_callback' => '__return_true',
29 - 'sanitize_callback' => function ( $value ) {
30 - return ( null === $value || '' === $value ) ? null : (int) $value;
31 - },
32 - ],
33 - ],
16 + 'get_callback' => [ $this, 'doc_category_order' ]
34 17 ]
35 18 );
36 19 $this->register_field(
37 20 'doc_category',
@@ -75,30 +58,14 @@
75 58 return $date;
76 59 }
77 60
78 61 public function doc_category_order( $object ) {
79 - // Get language-specific meta key with fallback for multilingual sites
80 - $meta_key = \WPDeveloper\BetterDocs\Utils\Helper::get_meta_key_with_fallback( 'doc_category_order', $object['id'] );
81 - $doc_category_order = get_term_meta( $object['id'], $meta_key, true );
82 -
83 - // If still no order found, try the base key as final fallback
84 - if ( '' === $doc_category_order || null === $doc_category_order ) {
85 - $doc_category_order = get_term_meta( $object['id'], 'doc_category_order', true );
62 + $doc_category_order = get_term_meta( $object['id'], 'doc_category_order', true );
63 + if ( ! $doc_category_order ) {
64 + return;
86 65 }
87 66
88 - return ( '' === $doc_category_order || null === $doc_category_order ) ? null : (int) $doc_category_order;
89 - }
90 -
91 - /**
92 - * Persist the display order written from the React Doc Categories slide-over.
93 - * Uses the same language-aware meta key as the reader. $term is a WP_Term.
94 - */
95 - public function update_doc_category_order( $value, $term ) {
96 - if ( null === $value || '' === $value ) {
97 - return;
98 - }
99 - $meta_key = \WPDeveloper\BetterDocs\Utils\Helper::get_meta_key_with_fallback( 'doc_category_order', $term->term_id );
100 - update_term_meta( $term->term_id, $meta_key, (int) $value );
67 + return $doc_category_order;
101 68 }
102 69
103 70 public function thumbnail_image( $object ) {
104 71 $attachment_id = get_term_meta( $object['id'], 'doc_category_image-id', true );