Pregunta sobre Import any XML or CSV File to WordPress de Wordpress:

¿Función PHP o xPath?

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

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada.