Página separada para comentários usando permalinks e add_rewrite_rule

Eu já estive aqui há dias, passando por muitas respostas aqui, orienta o uso de .htaccess, guia sobre o uso de add_rewrite_rule () no WordPress e exemplos em toda a web. Não tenho certeza se há um mau funcionamento na minha regex para detectar o URL correto ou uma desconectada entre o que eu quero realizar e o que pode ser realizado.

Basicamente, estou tentando separar comentários de postagens (ou melhor ainda, comentários de conteúdo) forçando-os a uma página separada “associada” ao conteúdo. Por exemplo, http://localhost/wp/2011/02/25/hello-world-2/ é uma publicação e os comentários para essa publicação devem aparecer em http://localhost/wp/2011/02/25/hello-world-2/comments/ . Agora, um “pequeno pássaro” disse uma vez que isso poderia ser feito com o seguinte:

RewriteRule ^archives/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/comments/?$ /index.php?year=$1&monthnum=$2&day=$3&name=$4&comments=1 [QSA,L] (vendo como eu realmente não preciso trabalhar dentro dos arquivos / / para o meu exemplo acima para trabalhar, Eu o removi), que eu traduzi para este plugin:

  

(com inúmeros exemplos como ele, em torno da web)

Isso, no entanto, não funciona. Mesmo assim, visitar http://localhost/wp/2011/02/25/hello-world-2/?comments=1 produz o resultado esperado. Então, o que está acontecendo aqui?

Solutions Collecting From Web of "Página separada para comentários usando permalinks e add_rewrite_rule"

As regras de reescrita do WordPress por padrão não são mais armazenadas na configuração do Apache, mas são tratadas pelo próprio WordPress. Este não foi provavelmente o caso quando o tópico do fórum foi escrito (há 5 anos), mas atualmente apenas as regras “externas” acabam na configuração do Apache, todas as outras são armazenadas no database e são manipuladas pela function WP::parse_request() .

Isso significa que você deve deixar as peças específicas do Apache na sua chamada add_rewrite_rule() . O código a seguir parece melhor:

 add_rewrite_rule( // The beginning `^` is added by WordPress '([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/comments/?$', // `$1` should be replaced with `$matches[1]` 'index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&comments=1', 'top' ); 

Quando testei isso com o plugin do analisador Rewrite , notei que os comments não são uma variável de consulta padrão, então lembre-se de que você terá que lidar com isso também.