Un usuario preguntó 👇
Hola, tengo que prohibir la importación de todas las filas con fechas irrelevantes en el campo {fecha} en la regla «{fecha}»> = Hoy. ¿O cómo excluir la importación de líneas CSV que no cumplan con esta regla? ¿Cuál es la mejor manera de hacer que xPath sea el primer paso o la función PHP? ¿Puede mostrar un ejemplo de este código php cómo hacerlo? Por favor, ayúdame)
¡Gracias!
Este tema fue modificado hace 2 años, 4 meses por.
(@wpallimport)
Hace 2 años, 4 meses
Hola @alexnn
Desafortunadamente, no es posible filtrar por fecha en la sección de opciones de filtrado de la importación. En su lugar, deberá utilizar el enlace «wp_all_import_is_post_to_create»: https://github.com/soflyy/wp-all-import-action-reference/blob/master/all-import/wp_all_import_is_post_to_create.php.
A continuación, se muestra un ejemplo de una colección que puede ajustar según sea necesario:
function my_is_post_to_create( $continue_import, $data, $import_id ) {
if ( $import_id == 18 ) { // Change this to your actual import ID.
if ( strtotime( $data['date'] ) >= strtotime( "Today" ) ) {
return false;
} else {
return true;
}
}
return true;
}
add_filter('wp_all_import_is_post_to_create', 'my_is_post_to_create', 10, 3);
(@alexnn)
Hace 2 años, 4 meses
¡Hola! ¡Gracias por tal apoyo! Primero trato de preparar una fecha a partir de la cadena. Intento este codigo
$desc='{string[1]}';
$data = preg_replace("/(.*?)((d{1,2})-(d{1,2})-(d{4}))/i", "$5-$4-$3", $desc);
$data = strtotime( $data );
function my_is_post_to_create( $continue_import, $data, $import_id ) {
if ( $import_id == 8 ) { // Change this to your actual import ID.
if ( $data >= strtotime( "Today" ) ) {
return false;
} else {
return true;
}
}
return true;
}
add_filter('wp_all_import_is_post_to_create', 'my_is_post_to_create', 10, 3);
pero se omiten todos los registros … OMITIR: A través del filtro wp_all_import_is_post_to_create…. ¿Qué podría estar mal?
(@wpallimport)
Hace 2 años, 4 meses
Hola @alexnn
Deberá tocar la fecha dentro de la matriz $ data en la función my_is_post_to_create. Suponiendo que la fecha está en el elemento de importación {cadena[1]}, Algo como esto debería funcionar:
function my_is_post_to_create( $continue_import, $data, $import_id ) {
$date = preg_replace("/(.*?)((d{1,2})-(d{1,2})-(d{4}))/i", "$5-$4-$3", $data['string']);
$date = strtotime( $date );
if ( $import_id == 8 ) { // Change this to your actual import ID.
if ( $date >= strtotime( "Today" ) ) {
return false;
} else {
return true;
}
}
return true;
}
add_filter('wp_all_import_is_post_to_create', 'my_is_post_to_create', 10, 3);
(@alexnn)
Hace 2 años, 4 meses
¡Hola! Desafortunadamente, este código no funciona. Mi {cable[1]} contiene «palabras blabla y fecha (formato dmY)». ¿Qué formato de fecha comprende la función $ data? $ detalles[‘format???’]
(@wpallimport)
Hace 2 años, 4 meses
Hola @alexnn
La variable $ data es un conjunto de elementos de importación y sus valores, no reconoce ni cambia los formatos de fecha. Debe eliminar la fecha de la edición de $ data y luego analizarla.
Tenga en cuenta que el código que le hemos proporcionado es solo un código de muestra; deberá ajustarlo para que funcione con sus datos. Desafortunadamente, no podemos escribir código personalizado para su proyecto.
¿Solucionó tu problema??
0 / 0