질량을 삭제 내가 태그 1000 년대를하고 난 단순히 X 시간 이상 사용되지 않는 모든 태그 ... 즉 5 번 삭제하고 싶습니다.질량이 인기 태그 <p></p>을 삭제 인기 태그
누구나 간단한 방법을 알고 있습니까? 심지어 곧은 SQL은 완전히 ROCK 될 것입니다!
질량을 삭제 내가 태그 1000 년대를하고 난 단순히 X 시간 이상 사용되지 않는 모든 태그 ... 즉 5 번 삭제하고 싶습니다.질량이 인기 태그 <p></p>을 삭제 인기 태그
누구나 간단한 방법을 알고 있습니까? 심지어 곧은 SQL은 완전히 ROCK 될 것입니다!
$x = 5; // set this to any number
$sql = "SELECT `name` FROM `wp_terms`";
$result = mysql_query($sql);
$count = array();
while($row = mysql_fetch_assoc($result))
{
$count[$name]++;
}
foreach($count as $key = $value)
{
if($value < $x)
{
$sql2 = "DELETE FROM `wp_terms` WHERE `name` = '". $key ."'";
$result2 = mysql_query($sql2);
}
}
더 효율적인 방법이 있지만 작업을 수행합니다.
편집 : 먼저 백업하십시오. 나는 그 테이블이 태그들에 독점적이라는 것을 완전히 확신하지 못한다.
SQL 명령을 사용하는 것이 최선의 방법입니다. 테이블 wp_terms
, wp_term_relationships
및 wp_term_taxonomy
이 관심의 대상입니다. WordPress는 wp_term_taxonomy.count
과 관계를 추적합니다. 이렇게하면 삶이 편하게됩니다.
-- remove terms
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'tag' AND count <= 5;)
-- remove all relationships
DELETE FROM wp_term_relationships WHERE term_taxonomy_id IN (SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE taxonomy = 'tag' AND count <= 5;)
-- remove taxonomy entry
DELETE FROM wp_term_taxonomy WHERE taxonomy = 'tag' AND count <= 5;
참고 : 내가 강하게 위의 명령을 실행하기 전에 이러한 테이블의 백업을 제안합니다.
Jasons 대답은 제외했다 나의 분류학의 이름은 'post_tag'하지 '태그'
별도의 답변을 제공하는 대신 답변과 upvote에 의견을 제시하는 것이 좋습니다. –
놀라운, 덕분에 슈퍼 빠른 응답을 많이했다, 설치 ... 내가 지금 그들에게 시험을 줄 것이다. 다시 한 번 감사드립니다 –
제이슨 맥 크레 리 (Jason McCreary)의 예제를 사용하여 코드를 변경하거나 쿼리를 실행하고 어떤 일이 발생하는지 알고 싶습니다. 하나의 데이터베이스가 아닌 3 개의 레이어에서 행을 삭제해야하는 것처럼 보입니다. – Citizen
그냥'wp_terms'에서 삭제할 수 있지만 같은 이름의 다른 태그를 추가하면 데이터의 무결성과 문제가 발생할 수 있습니다. –