将自定义USER_META设置为POST的永久链接

时间:2015-02-22 作者:Shahrukh Khan

对于现有的custom\\u user\\u meta=“user\\u name”如何为该用户在URL中提交的帖子创建永久链接。

e、 g.-对于user\\u name=“”srk489“我想要这篇文章的永久链接”post1“由该用户发布为”http://localhost/srk489/post1“。

为了获得用户元,我得到了以下函数

get_user_meta($user_id, $key, $single);  
当我搜索时,我得到了在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\');
如何将user meta和post permalink相互关联,以便将user\\u meta作为permalink?

1 个回复
最合适的回答,由SO网友:Shahrukh Khan 整理而成

在搜索了很多之后,我终于找到了这个解决方案。

我的自定义帖子类型为“facility“和custom\\u user\\u meta=”organization_name“。

首先转到http://localhost/wp-admin/options-permalink.php 并在文本框中选择“自定义结构”/%organization_name%/%postname%/

然后输入下面给定的代码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; 
}

结束

相关推荐

仅在wp-admin/Options-permarink.php上获得500内部服务器错误

我可以访问管理面板,一切正常。我可以单击设置->阅读并更改任何我想更改的内容。但如果我单击settings->permalinks,我会得到一个500内部服务器错误。以下是我尝试过的:我删除了。htaccess文件-未更改。我编辑了。htaccess(因为我正在将这个站点迁移到一个新域),现在我有了所有在前端工作的页面链接和除permalinks之外的所有管理链接。换句话说,网站的正面部分可以正常工作。所有管理功能都能正常工作。但如果我单击“设置”->“永久链接”,则会转到/wp adm