Jose Miguel
VIP
Lambda
SEO
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
¡Usuario popular!
Suscripción a IA
Pues eso, cree hace mucho una web con miles de urls y el 50% se creo solo con el titulo y sin contenido. Ando reparándola y quiero borrar del tirón todas las entradas vacías. ¿Como lo hacéis vosotros?
Prueba con estoPues eso, cree hace mucho una web con miles de urls y el 50% se creo solo con el titulo y sin contenido. Ando reparándola y quiero borrar del tirón todas las entradas vacías. ¿Como lo hacéis vosotros?
Si, pero el problema es que solo quiero borrar las entradas sin contenido.Te vas a Entradas --> Todas las entradas. A mi por ejemplo por defecto me aparecen 20 entradas. Si le das a Opciones de pantalla, en Número de elementos por página, puedes modificar el nº de entradas que quieres que aparezcan. Evidentemente si poner 1000, y tienes un hosting con pocos recursos, vas a tumbarlo. Elige menos cantidad. Una vez elegida, por ejemplo 50, marcas todas las que quieras eliminar, y le das a Acciones en Lote, Mover a la papelera, Aplicar. Este paso de eliminar también consume muchos recursos del hosting, mientras más entradas quieras eliminar, más posibilidades tendrás de tumbarlo. Te aconsejo hacerlo poco a poco.
Lo estuve mirando antes de preguntar aquí, pero no vi la opción de borrar entradas sin contenido. Tendré que revisarlo.Prueba con esto
WP Bulk Delete
Delete posts, pages, comments, users, taxonomy terms and meta fields in bulk with different powerful filters and conditions.wordpress.org
Supongo son antiguas no podrás filtarlas por eso?Lo estuve mirando antes de preguntar aquí, pero no vi la opción de borrar entradas sin contenido. Tendré que revisarlo.
Gracias 😁
Si no puedes filtrarlo por eso prueba con este proceso, es mas largo pero parece funcionarLo estuve mirando antes de preguntar aquí, pero no vi la opción de borrar entradas sin contenido. Tendré que revisarlo.
Gracias 😁
function delete_poor_posts($post_type = 'post', $min_words = 20, $letters_x_word = 5){
$posts = get_posts(array(
'post_type' => $post_type,
'fields' => 'ids',
'meta_query' => array(
array(
'key' => 'is_poor',
'compare' => 'NOT EXISTS'
),
),
'posts_per_page' => -1
));
ini_set('max_execution_time', 0);
foreach ($posts as $post_id) {
$content_post = get_post($post_id);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
$content = explode(" ", strip_tags( $content ));
$itsOK = 0;
foreach ($content as $text) {
if(strlen($text) >= $letters_x_word)$itsOK++;
}
if($itsOK < $min_words){
wp_delete_post( $post_id, true );
}else{
update_post_meta($post_id, 'is_poor', 'no');
}
}
die('fin');
}
if((current_user_can('editor') || current_user_can('administrator')) && isset($_GET['delete']) && $_GET['delete'] == 'now'){
delete_poor_posts();
}
Me puedes explicar un poco que es este código antes de meterlo en mi web 😂🙏🙏agrega este codigo en functions.php en tu temaInsertar CODE, HTML o PHP:function delete_poor_posts($post_type = 'post', $min_words = 20, $letters_x_word = 5){ $posts = get_posts(array( 'post_type' => $post_type, 'fields' => 'ids', 'meta_query' => array( array( 'key' => 'is_poor', 'compare' => 'NOT EXISTS' ), ), 'posts_per_page' => -1 )); ini_set('max_execution_time', 0); foreach ($posts as $post_id) { $content_post = get_post($post_id); $content = $content_post->post_content; $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); $content = explode(" ", strip_tags( $content )); $itsOK = 0; foreach ($content as $text) { if(strlen($text) >= $letters_x_word)$itsOK++; } if($itsOK < $min_words){ wp_delete_post( $post_id, true ); }else{ update_post_meta($post_id, 'is_poor', 'no'); } } die('fin'); } if((current_user_can('editor') || current_user_can('administrator')) && isset($_GET['delete']) && $_GET['delete'] == 'now'){ delete_poor_posts(); }
luego ve a tuweb.com?delete=now
ya terminado borra el codigo
jajaja obtiene los ids de el post_type que quieras, por default entradas, luego toma el contenido y le elimina las etiquetas html, luego lo divide en palabras, mide la cuantas letras conforman esa palabra y si es buena palabra le asigna un numero positivo a la entrada, por ultimo si el numero positivo de la entrada es menor al numero de palabras lo elimina caso contrario le asigna un meta para no volver a realizar el proceso en esa entradaMe puedes explicar un poco que es este código antes de meterlo en mi web 😂🙏🙏
con confianza xdIncreíble. Pues en cuanto esté en el pc lo pruebo y cuento.
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?