Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 向永久链接结构添加自定义字段_Php_Wordpress_Permalinks - Fatal编程技术网

Php 向永久链接结构添加自定义字段

Php 向永久链接结构添加自定义字段,php,wordpress,permalinks,Php,Wordpress,Permalinks,我有一个wordpress网站,它使用自定义的帖子类型“外部项目”。在该自定义帖子类型中有一个自定义字段“director”。我想做的是重写permalinks以包含董事的名字。我在外部项目上做了这项工作,但它会把其他网站的URL弄乱。404s等。下面是我的代码。任何帮助都会很好 add_action('init', 'tdd_add_rewrite_rules', 10, 0); function tdd_add_rewrite_rules(){ // Register custom r

我有一个wordpress网站,它使用自定义的帖子类型“外部项目”。在该自定义帖子类型中有一个自定义字段“director”。我想做的是重写permalinks以包含董事的名字。我在外部项目上做了这项工作,但它会把其他网站的URL弄乱。404s等。下面是我的代码。任何帮助都会很好

add_action('init', 'tdd_add_rewrite_rules', 10, 0);

function tdd_add_rewrite_rules(){
  // Register custom rewrite rules
  global $wp_rewrite;
  $wp_rewrite->add_rewrite_tag('%external-projects%', '([^/]+)', 'external-projects=');
  $wp_rewrite->add_rewrite_tag('%director%', '([^/]+)', 'director=');
  $wp_rewrite->add_permastruct('external-projects', '/%director%/%external-projects%', false);

}



add_filter('post_type_link', 'tdd_permalinks', 10, 3);

function tdd_permalinks($permalink, $post, $leavename){
$no_data = 'no-director';
$post_id = $post->ID;

if($post->post_type != 'external-projects' || empty($permalink) || in_array($post->post_status, array('draft', 'pending', 'auto-draft')))
  return $permalink;
  //$var1 = get_post_meta($post_id, 'director', true);
  $var1 = 'test_director';// I'll get this later.
  $var1 = sanitize_title($var1);

  if(!$var1) { $var1 = $no_data; }
  $permalink = str_replace('%director%', $var1, $permalink);
  return $permalink;
}

您可以从查看和