Skip to content

Commit 547d53c

Browse files
committed
refactor: acpt actions slug
1 parent e0962f5 commit 547d53c

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

includes/Actions/ACPT/ACPTHelper.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,15 @@ public static function validateResponse($response)
143143
: $response;
144144
}
145145

146+
public static function convertToSlug($string)
147+
{
148+
$string = strtolower(trim($string));
149+
$string = preg_replace('/[^a-z0-9-]/', '-', $string);
150+
$string = preg_replace('/-+/', '-', $string);
151+
152+
return trim($string, '-');
153+
}
154+
146155
private static function validateFields($requiredFields, $finalData)
147156
{
148157
foreach ($requiredFields as $key => $label) {

includes/Actions/ACPT/RecordApiHelper.php

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public function createCPT($finalData, $fieldValues)
5353
return $error;
5454
}
5555

56-
$finalData['post_name'] = str_replace(' ', '-', strtolower($finalData['post_name']));
56+
$finalData['post_name'] = ACPTHelper::convertToSlug($finalData['post_name']);
5757
$finalData['icon'] = $this->integrationDetails->icon;
5858

5959
$apiEndpoint = $this->apiUrl . '/cpt';
@@ -68,7 +68,7 @@ public function updateCPT($finalData, $fieldValues)
6868
return $error;
6969
}
7070

71-
$slug = $finalData['slug'];
71+
$slug = ACPTHelper::convertToSlug($finalData['slug']);
7272

7373
unset($finalData['slug']);
7474

@@ -105,7 +105,8 @@ public function createOrUpdateTaxonomy($finalData, $fieldValues, $isUpdate = fal
105105
return $error;
106106
}
107107

108-
$slug = $finalData['slug'];
108+
$slug = ACPTHelper::convertToSlug($finalData['slug']);
109+
109110
$finalData = ACPTHelper::prepareTaxonomyData($finalData, $fieldValues, $this->integrationDetails);
110111

111112
$path = $isUpdate ? '/taxonomy/' . $slug : '/taxonomy';
@@ -128,6 +129,8 @@ public function deleteTaxonomy($finalData)
128129
];
129130
}
130131

132+
$finalData['slug'] = ACPTHelper::convertToSlug($finalData['slug']);
133+
131134
$apiEndpoint = $this->apiUrl . '/taxonomy/' . $finalData['slug'];
132135

133136
$response = apply_filters('btcbi_acpt_delete_taxonomy', false, $apiEndpoint, $this->apikey);
@@ -152,6 +155,9 @@ public function associateTaxonomyToCPT($finalData)
152155
];
153156
}
154157

158+
$finalData['taxonomy_slug'] = ACPTHelper::convertToSlug($finalData['taxonomy_slug']);
159+
$finalData['cpt_slug'] = ACPTHelper::convertToSlug($finalData['cpt_slug']);
160+
155161
$apiEndpoint = $this->apiUrl . '/taxonomy/assoc/' . $finalData['taxonomy_slug'] . '/' . $finalData['cpt_slug'];
156162

157163
$response = apply_filters('btcbi_acpt_associate_taxonomy_to_cpt', false, $apiEndpoint, $this->apikey);
@@ -175,6 +181,7 @@ public function createOrUpdateOptionPage($finalData, $isUpdate = false)
175181

176182
$finalData['icon'] = $this->integrationDetails->icon;
177183
$finalData['position'] = (integer) $finalData['position'];
184+
$finalData['menuSlug'] = ACPTHelper::convertToSlug($finalData['menuSlug']);
178185

179186
$path = $isUpdate ? '/option-page/' . $finalData['menuSlug'] : '/option-page';
180187
$apiEndpoint = $this->apiUrl . $path;
@@ -196,6 +203,8 @@ public function deleteOptionPage($finalData)
196203
];
197204
}
198205

206+
$finalData['slug'] = ACPTHelper::convertToSlug($finalData['slug']);
207+
199208
$apiEndpoint = $this->apiUrl . '/option-page/' . $finalData['slug'];
200209

201210
$response = apply_filters('btcbi_acpt_delete_option_page', false, $apiEndpoint, $this->apikey);

0 commit comments

Comments
 (0)