Cómo Cambiar los Filtros Iniciales de la Hoja para cada Autor

La hoja funciona así por defecto:

  • Cuando la abres por primera vez, muestra todas las filas. Si estás editando un tipo de post y eres un “autor”, sólo verás tus propios posts.
  • La próxima vez que abras la hoja de cálculo, mostrará los mismos filtros que utilizaste en la sesión anterior. Por ejemplo, si buscaste entradas con la palabra clave “Automóvil”, te mostrará los Automóviles la próxima vez para que puedas seguir editando donde lo dejaste o eliminar los filtros manualmente para empezar de nuevo.

En este tutorial te mostraremos cómo cambiar los filtros iniciales programáticamente.

Esto puede ser útil para mejorar el flujo de trabajo de los usuarios. Por ejemplo:

  • Puedes mostrar automáticamente todos los posts sin título SEO cuando el empleado encargado de SEO abre la Hoja.
  • Puedes mostrar los productos con stock < 10 cuando el empleado de la tienda abre la Hoja.

El objetivo es mostrar las filas que el usuario desea ver o editar automáticamente.

Paso 1. Necesitas encontrar el parámetro de filtros

  • Abre la hoja de cálculo
  • Realiza la búsqueda mediante la herramienta “Buscar”. Por ejemplo, encontrar los posts que no tienen titulo SEO
  • Recarga la página de la Hoja
  • Abre la consola del navegador en las herramientas de desarrollo y ejecuta el siguiente código para ver los parámetros de búsqueda
JSON.stringify(vgse_editor_settings.last_session_filters)

Example:

como-cambia-filtros-iniciales-hoja-autor

Paso 2. Modificar los filtros activos programáticamente

El código es simple:

  • Utilizamos el filtro vg_sheet_editor/js_data para modificar la configuración de la Hoja.
  • Comprobamos si la hoja actual es la hoja de productos (esta es la clave de tipos de post para tipos de post, usuario para usuarios, y clave de taxonomía para la hoja de hoja taxonomías).
  • Comprobamos si el usuario actual = 20, modificamos los filtros de la última sesión para usar el JSON con la consulta de búsqueda que obtuvimos desde el paso 1.

De esta manera puedes hacer cualquier búsqueda en el paso 1, copiar el json, y usar el json aquí. Puedes hacer cosas avanzadas, como cambiar los filtros para funciones de usuario completas, identificadores de usuario específicos, etc.

add_filter('vg_sheet_editor/js_data', 'wpse_custom_session_filters', 99, 2);

function wpse_custom_session_filters($all_settings, $current_provider_in_page) {

  if( $current_provider_in_page === 'product' ){
    if( get_current_user_id() === 30 ){
      $all_settings['last_session_filters'] = json_decode('{"meta_query":{"2":{"key":"_yoast_wpseo_title","source":"meta","compare":"=","value":""}}}', true);
    }
  }
  return $all_settings;
}