Nehmen Sie benutzerdefiniertes user_meta als Permanentlink für Post vor

Für einen bestehenden custom_user_meta = “user_name” wie kann ich einen Permalink für Post erstellen, der von diesem Benutzer in der URL eingereicht wurde.

zB – für user_name = ” srk489 ” Ich möchte den Permalink des Postspost1 “, der von diesem Benutzer gepostet wird, ” http: // localhost / srk489 / post1 ” sein.

Um den Benutzer meta zu erhalten, habe ich die folgende function

get_user_meta($user_id, $key, $single); 

Als ich gesucht habe, habe ich den folgenden Code für das Hinzufügen von benutzerdefinierten Post-Feld in Permalink

 function custom_post_title($title) { global $post; $type = get_post_type($post->ID); if ($type== 'post') { $title = $post->post_title; $custom_field_title = get_post_meta($post->ID, 'custom_post_title', true); if(isset($custom_field_title)) return $title.'-'.$custom_field_title; else return $title; } return $title; } add_filter ('title_save_pre','custom_post_title'); 

Wie verknüpfe ich die Benutzer-Meta und Post-Permalink miteinander, so dass ich user_meta als Permalink erhalten kann?

Solutions Collecting From Web of "Nehmen Sie benutzerdefiniertes user_meta als Permanentlink für Post vor"

Nach langem Suchen habe ich diese Lösung gefunden.

Mein benutzerdefinierter Post-Typ ist ” facility ” und der custom_user_meta = ” organisationsname “.

Gehen Sie zuerst zu http://localhost/wp-admin/options-permalink.php und wählen Sie eine benutzerdefinierte Struktur – im Textfeld put /%organization_name%/%postname%/

Danach setzen Sie den unten angegebenen Code in functions.php

 add_action('init', 'tdd_add_rewrite_rules2'); function tdd_add_rewrite_rules2(){ // Register custom rewrite rules global $wp_rewrite; $wp_rewrite->add_rewrite_tag('%facility%', '([^/]+)', 'facility='); $wp_rewrite->add_rewrite_tag('%organization_name%', '([^/]+)', ''); $wp_rewrite->add_permastruct('facility', '/%organization_name%/facility/%facility%', false); } add_filter('post_type_link', 'tdd_permalinks2', 10, 3); function tdd_permalinks2($permalink, $post, $leavename){ $no_data = get_the_author_meta('ID');; $post_id = $post->ID; if($post->post_type != 'facility' || empty($permalink) || in_array($post->post_status, array('draft', 'pending', 'auto-draft'))) return $permalink; // $var1 = get_post_meta($post_id, 'posts_solicitorspeciality', true); $var1 = get_the_author_meta('organization_name'); $var1 = sanitize_title($var1); if(!$var1) { $var1 = $no_data; } $permalink = str_replace('%organization_name%', $var1, $permalink); return $permalink; }