Como excluímos várias páginas (como o oposto de is_page)

Cenário

Eu tenho um seguinte formato personalizado para o site com o Woocommerce.

  1. Existem certos estilos css, opções JS usadas para esta página específica
  2. Igual a acima com diferentes animações css usadas ou determinadas classs quando na página inicial do site

Questão

Agora, eu quero usar algumas opções específicas do jQuery, como .Delay (), Hide (), & Show () em pages other than Shop & Home page

No entanto, se eu simplesmente adicionar o jQuery fora das opções 1 e 2 mencionadas acima .. isso é aplicado a todo o site – opções de substituição especificadas para is_shop

Eu acho que se pudermos excluir páginas, então posso excluir estas 2 páginas acima. A escrita is_page (array) seria muito tediosa para centenas de páginas.

Como podemos excluir certas páginas WP (no meu caso apenas 2)? Ou devo reformatar a página usando if else e funcionará?

Desde já, obrigado.

Solutions Collecting From Web of "Como excluímos várias páginas (como o oposto de is_page)"

O oposto de is_page() será ! is_page() ! is_page() . Em php o ! é usado como negativo, então ! is_page( 42 ) ! is_page( 42 ) significará algo como

se não estivermos na página ID 42, faça algo, em outras palavras, exclua a página ID 42

Obrigado Pieter, isso resolveu o problema. Estou escrevendo abaixo alguns detalhes apenas no caso de alguém vir aqui no futuro.

Conforme indicado por Pieter na resposta acima, usar !is_page é para excluir a página em oposição ao uso de is_page para include funções para essa página.

No meu caso, notei duas coisas.

  1. < ?php if(!is_shop() && (!is_front_page())) {?> Eu usei o código necessário em qualquer outro lugar além dessas 2 páginas. Funciona bem
  2. Todas as opções jQuery precisam ser comuns em todos os casos para funcionar. Não podemos ignorá-lo em nenhum dos casos. O que significa que eu tive que mencionar as opções jQuery em todos os três casos para que funcionasse conforme desejado.

No meu exemplo: eu tinha is_shop() , is_front_page() & !is_shop() onde cada um deles precisava desse jQuery("#primary").delay($value) para que ele funcione como desejado em todas as páginas.

Obrigado a todos.