oterox
Respuestas de foro creadas
-
Foro: WordPress Avanzado
En respuesta a: rewrite rules para custom post typesMuchas gracias David,
lo miraré, aunque creo que no me va a hacer falta.
Al final tengo lo importante en la url, que es la taxonomia y el correspondiente post_type.Y si si y si, los permalinks son un infiernoooo!
Foro: WordPress Avanzado
En respuesta a: rewrite rules para custom post typesMuchas gracias Pablo, ya conocía ese artículo desde hace muchos años 😉
Pero en mi caso tengo que hacer bastante más.Sobre todo porque el primer segmento de la url es el destino y es una taxonomia, no tiene siempre el mismo valor. Además en cada caso debe sacar solo registros cpts que tengan esa taxonomia.
ej: /es/granada/planes (/idioma/taxonomia/customPostType)
«es» es el idioma que pueden ser varios.
«granada» es una taxonomia asociada al cpt planes
«planes» es el custom post type y solo tengo que sacar los planes que estén asignados al term granada.Este sería un ejemplo para el archivo del cpt planes.
Y luego generar todas las urls correctamente en archivos, single, productos, filtros, etc.
Ahora mismo tengo ya gran parte hecha y lo estoy moviendo a un plugin básico. Luego pongo el link al gist.
Un saludo.
Foro: WordPress Avanzado
En respuesta a: rewrite rules para custom post typesDe momento he conseguido que me funcione para el single con esto:
add_filter('post_type_link', 'ox_post_type_link', 1, 3); function ox_post_type_link( $link, $post = 0 ){ if ( $post->post_type == 'plan' ){ $terms = wp_get_object_terms( $post->ID, 'tax_destination' ); if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) $taxonomy_slug = $terms[0]->slug; return home_url( $taxonomy_slug .'/' . $post->post_name ); } elseif ( $post->post_type == 'area' ){ $terms = wp_get_object_terms( $post->ID, 'tax_destination' ); if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) $taxonomy_slug = $terms[0]->slug; return home_url( $taxonomy_slug .'/zonas/' . $post->post_name ); } elseif ( $post->post_type == 'itinerary' ){ $terms = wp_get_object_terms( $post->ID, 'tax_destination' ); if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) $taxonomy_slug = $terms[0]->slug; return home_url( $taxonomy_slug .'/itinerarios/' . $post->post_name ); } else { return $link; } }
y esto:
add_action( 'init', 'ox_rewrite_add_rewrites' ); function ox_rewrite_add_rewrites() { //(NO FUNCIONA) Home destino /granada add_rewrite_rule( '^([^/]+)/?$', //un solo segmento 'index.php?post_type=destination', 'top' ); //(NO FUNCIONA) Archivo para planes /granada/planes add_rewrite_rule( '([^/]+)/planes/?$', //un segmento + el literal "planes" 'index.php?post_type=plan&tax_destination=$matches[1]', 'top' ); //(SI FUNCIONA) Detalle plan /granada/que-hacer-en-granada add_rewrite_rule( '^([^/]+)/([^/]+)/?$', //un segmento y despues otro segmento 'index.php?plan=$matches[2]', 'top' ); //(SI FUNCIONA) Detalle zona /granada/zonas/albaicin add_rewrite_rule( '^([^/]+)/zonas/([^/]+)/?$', //un segmento y despues otro segmento 'index.php?area=$matches[2]', 'top' ); //(SI FUNCIONA) Detalle itinerario /granada/itinerarios/granada-en-un-dia add_rewrite_rule( '^([^/]+)/itinerarios/([^/]+)/?$', //un segmento y despues otro segmento 'index.php?itinerary=$matches[2]', 'top' ); flush_rewrite_rules(); }
Pero sigo sin conseguir que funcione para los archivos de los cpt y la home
Foro: Seguridad
En respuesta a: Backups de sitios pesadosBlogvault va fenomenal, y hace backups incrementales. Restore con un boton y staging tambien
https://blogvault.net/Y funciona muy bien para sitios enormes!