我遇到一个很大的问题,我无法使用Linkedin Share按钮。
其中一个原因是我使用的非友好网址。
基本上我已经为wordpress构建了一个插件,向我展示了工作。
这是完美展示工作和一切,但链接看起来像这样
www.recruitmentagency.com/job/?id=250
我希望它看起来像
www.recruitmentagency.com/job/250
或
www.recruitmentagency.com/job/job-id/250
我尝试将重写规则添加到htaccess但没有运气
RewriteRule ^job/([0-9]+)/$ job/?id=$1
RewriteRule ^job-id/([0-9]+)/$ /?id=$1
并且没有一个工作。
任何解决方案都将不胜感激。
答案 0 :(得分:1)
我也面临同样的问题。经过很长一段时间我达到了以下的解决方案:
add_filter('rewrite_rules_array','job_rewrite_rules_array');
function job_rewrite_rules_array($rules){
$job_page = get_post(123);
$job_rules = array();
if( is_object($job_page) ){
$job_slug = $job_page->post_name;
$job_rules[$job_slug.'/([^/]*)$'] = 'index.php?pagename='.$job_slug.'&jobid=$matches[1]';
}
return $job_rules + $rules;
}
//Bind Query Var
add_filter('query_vars','job_query_vars');
function job_query_vars($vars){
array_push($vars, 'jobid');
return $vars;
}
只执行一次job_rewrite_flush
function job_rewrite_flush(){
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_action('init','job_rewrite_flush');
现在访问参数:$jobid= get_query_var( 'jobid', 1 )
我认为上述脚本可以根据您的要求运行。
答案 1 :(得分:0)
我尝试使用内置系统并且部分正常工作。
但是我不喜欢这样做的方式。
而不是像
那样得到这份工作$job_id=$_GET['id'];
我得到它像
$job_id=wp_query->query_vars['page'];
当页面加载时
www.recruitmentagency.com/job/250
我甚至不明白为什么我所谓的job-id作为一个页面出现,但我正在使用它,因为我需要它才能工作。