我已经把我(编码新手)的头围绕着这个很长一段时间了,但却无法让它发挥作用。
我尝试实现的目标如下:
如果访问者访问
some-page /?custom_field = something 我希望将网址翻译成并显示为
一些页/ custom_field /东西
现在发生的事情是,当我点击 some-page / custom_field / something 这样的网址时,我会被带到 some-page / custom_field / 。
我确实认为我的错误代码在这个函数的某个地方:
function myFunction_rewrite_rule() {
add_rewrite_rule( '^some-page/custom_field/([a-zA-Z-]*)/?', 'index.php?p=421&custom_field=$matches[1]','top' );
add_rewrite_rule( '^some-other-page/custom_field/([a-zA-Z-]*)/?', 'index.php?p=423&custom_field=$matches[1]','top' );
}
add_action('init', 'myFunction_rewrite_rule', 10, 0);
我是第一个承认正则表达式来自我最强的领域的人,所以这些导致我的困惑......有没有人在这里看到明显的错误?
顺便说一句,这是我正在使用的其余代码:
$custom_field_query = array();
// add custom_field_query elements
if( !empty( get_query_var( 'custom_field' ) ) ){
$custom_field_query[] = array(
'key' => 'custom_field',
'value' => get_query_var( 'custom_field' ),
'compare' => 'LIKE'
);
}
if( count( $custom_field_query ) > 0 ){
$query->set( 'custom_field_query', $custom_field_query );
}
}
add_action( 'pre_get_posts', 'custom_field_pre_get_posts', 1 );
和
function custom_field_rewrite_tag() {
add_rewrite_tag( '%custom_field%', '([^&]+)' );
}
add_action('init', 'custom_field_rewrite_tag', 10, 0);
对于记录:是的,我在上面的代码中的每次更改后刷新重写规则。
答案 0 :(得分:0)
事实证明答案不是我的预期。如果我改变
tf.nn.leaky_relu
到
function myFunction_rewrite_rule() {
add_rewrite_rule( '^some-page/custom_field/([a-zA-Z-]*)/?', 'index.php?p=421&custom_field=$matches[1]','top' );
add_rewrite_rule( '^some-other-page/custom_field/([a-zA-Z-]*)/?', 'index.php?p=423&custom_field=$matches[1]','top' );
}
add_action('init', 'myFunction_rewrite_rule', 10, 0);
一切都按预期工作。
详细说明:
function myFunction_rewrite_rule() {
add_rewrite_rule( '^some-page/custom_field/([a-zA-Z-]*)/?', 'index.php?pagename=some-page&custom_field=$matches[1]','top' );
add_rewrite_rule( '^some-other-page/custom_field/([a-zA-Z-]*)/?', 'index.php?pagename=some-other-page&custom_field=$matches[1]','top' );
}
add_action('init', 'myFunction_rewrite_rule', 10, 0);
到
p=421&custom_field=$matches[1]
p=423&custom_field=$matches[1]