Если по каким-либо причинам (например неправильного импорта) в базе существуют дубли товаров. Дубли будем определять исключительно по наименованию (title). Готового решения (плагина) по данной теме не нашёл.
Создаём шаблон страницы с функционалом:
<?php /*Template Name: Удалить дубли товаров*/ ?>
<?php get_header(); ?>
<main role="main"><div class="wrapper">
<section id="main-content">
<div class="box">
<?php get_sidebar(); ?>
<div class="block-9" id="content">
<h1 id="title"><?php the_title(); ?></h1>
<?php the_content(); ?>
<?php
$args = array(
'posts_per_page' => -1,
'post_type' => 'product',
);
$myposts = get_posts( $args );
$i = 0;
foreach( $myposts as $post ) : setup_postdata($post);
$mypostids = $wpdb->get_col("select ID from $wpdb->posts where post_title LIKE '".get_the_title()."' ");
if (count($mypostids) > 1) {
// print_r($mypostids);
$i2 = 0;
foreach( $mypostids as $mypostid ) {
if ($i2 > 0) {
echo '<p>'.get_the_title().'</p><br>';
// wp_delete_post( $mypostid, 1 );
$i++;
}
$i2++;
}
}
endforeach;
echo '<br><p>'.$i.' дублей</p>';
wp_reset_postdata(); ?>
</div>
</div>
</section>
</div></main>
<?php get_footer(); ?>
Назначаем шаблон странице и переходим в неё.
Если задать выпорку постов по аргументу «s», то выводятся посты с похожими наименованиями.
[site-socialshare]
Удалял дубли товаров плагином «Trash Duplicate and 301 Redirect».
* У вас что-то в форме комментариев со вставкой ссылки. Если нажать на кнопку ссылки, то постоянно экран скроллится вниз.