Wp Admin — Сделать Пользовательскую Мета-Мету User_Meta Постоянной Ссылкой На Сообщение

  • Автор темы Adamon
  • Обновлено
  • 21, Oct 2024
  • #1

Для существующего custom_user_meta="user_name" как я могу создать постоянную ссылку для сообщения, отправленного этим пользователем, в URL-адресе.

например - для user_name="srk489"Мне нужна постоянная ссылка на пост"сообщение1" опубликовано этим пользователем как "http://localhost/srk489/сообщение1".

Чтобы получить мета пользователя, я получил следующую функцию

 
 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');
 

Когда я искал, я получил следующий код для добавления настраиваемого поля сообщения в постоянную ссылку

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

Как мне связать мета-мету пользователя и опубликовать постоянную ссылку друг с другом, чтобы я мог получить user_meta в качестве постоянной ссылки?

#настраиваемое поле #wp-admin #постоянные ссылки

Adamon


Рег
13 Feb, 2007

Тем
77

Постов
213

Баллов
628
  • 25, Oct 2024
  • #2

После долгих поисков я наконец нашел это решение.

Мой собственный тип сообщения: "средство" и custom_user_meta="название_организации".

Сначала зайдите в

 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; 
}
 
and choose custom structure - in the text box put functions.php

После этого поместите приведенный ниже код в /%organization_name%/%postname%/

http://localhost/wp-admin/options-permalink.php
 

AbsontemsJose66


Рег
25 Oct, 2024

Тем
62

Постов
193

Баллов
513
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно