From ccf5e61a075c35d24befc175994b5cb8957ca322 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Wed, 26 Aug 2026 21:45:53 +0000
Subject: [PATCH] =Extra JVB() calls replaced, minor tweaks
---
inc/registrar/Posts.php | 41 ++++++++++++++++++++++++++++++++++++-----
1 files changed, 36 insertions(+), 5 deletions(-)
diff --git a/inc/registrar/Posts.php b/inc/registrar/Posts.php
index 7a5bf4f..8922af7 100644
--- a/inc/registrar/Posts.php
+++ b/inc/registrar/Posts.php
@@ -10,6 +10,8 @@
public string $postType;
public string $singular;
public string $plural;
+ public bool $baseless = false;
+ public bool $modify = false;
public array $labels;
/**
* Whether a post type is intended for use publicly either via the admin interface or by front-end users.
@@ -156,7 +158,7 @@
* An array of taxonomy identifiers that will be registered for the post type. Taxonomies can be registered later with register_taxonomy() or register_taxonomy_for_object_type() .
* @var array
*/
- public array $taxonomies;
+ public array $taxonomies = [];
/**
* Whether there should be post type archives, or if a string, the archive slug to use.
* Will generate the proper rewrite rules if $rewrite is enabled. Default false.
@@ -218,10 +220,11 @@
$this->unbased = jvbNoBase($postType);
$this->postType = jvbCheckBase($postType);
$this->labels = $this->buildLabels($singular, $plural);
+ $this->singular = $singular;
+ $this->plural = $plural;
}
- public function register():void
- {
+ protected function buildArgs():array {
$args = array_filter(get_object_vars($this));
// error_log('Got Object Vars: '.print_r($args, true));
// error_log('Filtered: '.print_r(array_filter($args), true));
@@ -340,9 +343,20 @@
}
- $registered = register_post_type($this->postType, $args);
+ return $args;
+ }
+
+ public function register():void
+ {
+ $args = $this->buildArgs();
+
+ $registered = true;
+ if (!$this->modify) {
+ $registered = register_post_type($this->postType, $args);
+ }
+
if (is_wp_error($registered)) {
- JVB()->error()->log('JVBase\registrar\Posts', 'Could not register post type', $registered->get_error_messages());
+ Errors::getInstance()->log('JVBase\registrar\Posts', 'Could not register post type', $registered->get_error_messages());
}
}
@@ -455,4 +469,21 @@
return $url;
}
+ public function modifyWooCommerce() {
+ if ($this->modify) {
+ $args = $this->buildArgs();
+ unset($args['labels']);;
+ $registered = get_post_type_object($this->postType);
+
+ foreach ($args as $key => $value) {
+ $registered->$key = $value;
+ }
+
+ $labels = $registered->labels;
+ foreach ($this->labels as $key => $value) {
+ $labels->$key = $value;
+ }
+ }
+ }
+
}
--
Gitblit v1.10.0