在WordPress函数中向多个页面URL添加查询字符串

时间:2019-05-15 作者:andreasherne

我有一个wordpress函数,可以添加查询字符串\'nocfcache=1\' 到单个页面url。

function nocfcache_query_string( $url, $id ) {
    if( 42 == $id ) {
        $url = add_query_arg( \'nocfcache\', 1, $url );
    }
    return $url;
}

add_filter( \'page_link\', \'nocfcache_query_string\', 10, 2 );
Issue: 如何在函数中使用多个页面ID,以确保它们都将查询字符串附加到url。

What I have tried so far:

function nocfcache_query_string( $url, $id ) {
    $id = array (399, 523, 400, 634, 636, 638);
    if(in_array($post->ID, $id)) {
        $url = add_query_arg( \'nocfcache\', true, get_permalink( $post->ID ));
        return $url;
        exit;
    }
}

add_filter( \'page_link\', \'nocfcache_query_string\', 10, 2 );

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

在第二个代码中,使用未定义的$post 变量也许你指的是全球$post, 但是,当传递给过滤器的第二个参数时,将传递为其创建链接的帖子的ID,而这不一定是循环的当前帖子。

尝试以下操作:

add_filter( \'page_link\', \'nocfcache_query_string\', 10, 2 );

function nocfcache_query_string( $url, $id ) 
{
    $ids = array (399, 523, 400, 634, 636, 638);
    if( in_array($id, $ids) ) 
    {
        $url = add_query_arg( \'nocfcache\', 1, $url );
    }
    return $url;
}

相关推荐

Wordpress Permalinks

我在最近建立的网站上使用Wordpress Sydney主题。如果我将永久链接更改为post选项,我的网页链接将中断。对于不是技术大师的人来说,有没有简单的方法来解决这个问题。任何(详细的)帮助都将不胜感激。