Snippets útiles para WordPress

Excluir Posts de ciertas categorías en la página de Blog

Se excluyen las categorías cuyos IDs son: 3, 5 y 23

function exclude_categories($query) {
      if ( $query->is_home ) {
            $query->set('cat', '-3,-5,-23');
      }
      return $query;
}
add_action('pre_get_posts', 'exclude_categories');

Incluir Posts de ciertas categorías en la página de Blog

Se incluyen las categorías cuyos IDs son: 2, 3 y 59

function include_categories( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'cat', '2,3,59' );
    }
}
add_action( 'pre_get_posts', 'include_categories' );

Hook al activar plugin

register_activation_hook(__FILE__, 'my-function-to-execute');

Hook al desactivar plugin

register_deactivation_hook(__FILE__, 'my-function-to-execute');

Imprimir variables desde PHP

Opción 1: print_r

Utilizar pre para facilitar la lectura.

add_action( 'wp_head', function(){
            echo '<pre>'; 
            print_r($variable_a_imprimir);
            echo '</pre>';
        }, 9999 );

Opción 2: var_dump()

var_dump($variable_a_imprimir); 

Opción 3: guardar en un archivo

Con error_log se puede guardar información en el archivo debug.log. Útil en desarrollo para depurar errores.

error_log("texto a guardar");

También se puede puede guardar en otro archivo especificado:

error_log("texto a guardar",3,__DIR__."/log.txt"); 

Para guardar el valor de una variable usar print_r indicando como segundo parámetro true.

error_log(print_r($variable_a_guardar,true));

Es necesario tener activar ( 'WP_DEBUG', true ); y define( 'WP_DEBUG_LOG', true );

Activar modo debug

Opción 1

Editar el archivo wp-config.php y asignar define('WP_DEBUG', true);

Opción 2 (completo)

//define('WP_DEBUG', false);
ini_set('log_errors','On');
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Ocultar el header de archive

add_action( 'after_setup_theme', function() {
    remove_action( 'generate_archive_title', 'generate_archive_title' );
} );
👉  Cómo reparar la tabla wp_options de WordPress

👇Tu comentario