Este é o uso correto de filtros no WordPress

Estou construindo um plugin e estou com dúvidas se o código que estou usando é a maneira correta de fazer coisas no que diz respeito aos ganchos e filtros do WordPress.

O cenário é que o código em um ponto particular precisa saber se deve fazer uma coisa ou outra. Simples, eu poderia usar uma opção no administrador do plugin. Mas a fim de não desordenar o administrador do plugin, e dado que esta opção provavelmente será usada por uma porcentagem muito pequena de usuários, optei por não ter uma opção GUI e, em vez disso, tenha esse valor verdadeiro / falso definido por código (o framework Genesis usa muito essa metodologia).

Começamos com o valor padrão na variável:

$force_default_thumbnail = apply_filters( 'image_priority', FALSE ); // rest of logic goes here 

Portanto, a variável começa sendo FALSA, e um usuário do plugin pode modificar isso usando um filtro nas funções do seu tema.php (ou como um plugin separado) da seguinte maneira:

 add_filter( 'image_priority', 'my_force_default_thumbnail' ); 

Isso, por sua vez, desencadeia a seguinte function, que também está incluída no arquivo principal do plugin.

 function my_force_default_thumbnail( $force ) { return TRUE; } 

Quando essa function é desencadeada, o valor padrão muda para true e o logif das alterações do plugin com base nessa modificação.

Espero ter explicado o suficiente e aguardo com expectativa o seu conselho.

Solutions Collecting From Web of "Este é o uso correto de filtros no WordPress"

Umm. Normalmente, as pessoas fazem perguntas aqui que são mais do que perguntas de sim / não, mas oi, eu sou um jogo.

Sim, esse código parece bom para mim.

Espero que ajude! 🙂

Observe também que existe uma function incorporada chamada __return_true que está disponível para uso, assim:

add_filter( 'image_priority', '__return_true' );

Fácil.

Observe também que “image_priority” é bastante genérico para um nome de filtro. Você deve, idealmente, prefixar seus nomes de filtros com o nome do plugin, para que os filtros não entrem em conflito entre si.