View difference between Paste ID: PrzU0zFQ and QTdSfENg
SHOW: | | - or go back to the newest paste.
1
/**
2-
 * Use %store% in Products' permastructure settings
2+
 * Random string in permastructure
3
 * Use %random% in "Permastructure" settings
4-
function pm_dokan_store_field($default_uri, $native_slug, $post, $slug, $native_uri) {
4+
5
function pm_random_string_field($default_uri, $native_slug, $post, $slug, $native_uri) {
6-
	if($native_uri == true || empty($post->post_type) || $post->post_type !== 'product') { return $default_uri; }
6+
7-
7+
	if($native_uri == true || empty($post->post_type)) { return $default_uri; }
8-
	if(strpos($default_uri, '%store%') !== false) {
8+
	
9-
		$store_name = get_user_meta($post->post_author, 'dokan_store_name', true);
9+
	if(strpos($default_uri, '%random%') !== false) {
10-
		$default_uri = str_replace('%store%', sanitize_title($store_name), $default_uri);
10+
		$chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
11
		$length = 12;
12-
12+
		$random_string = substr(str_shuffle($chars), 0, $length);
13
		
14
		$default_uri = str_replace('%random%', $random_string, $default_uri);
15-
add_filter('permalink_manager_filter_default_post_uri', 'pm_dokan_store_field', 3, 5);
15+
16
	
17
	return $default_uri;
18
}
19
add_filter('permalink_manager_filter_default_post_uri', 'pm_random_string_field', 3, 5);