PHP知道Wordpress中是否存在类别

时间:2012-07-03 14:10:00

标签: php wordpress list add categories

我正在编写一个简单的脚本php。 此脚本必须知道在wordpress cms中是否存在通过$ _get传递的指定类别。

exist.php?猫= XXX

我已经读过这篇文章,但我不确定它是否能帮助我。 http://codex.wordpress.org/Function_Reference/is_category

任何人都可以帮助我吗? 我能怎么做? 感谢。

2 个答案:

答案 0 :(得分:2)

由于您似乎试图从单独的PHP文件访问它,请在脚本中连接到WordPress数据库并运行此查询:

<?php
include 'wp-config.php';

$dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASSWORD);

$stmt = $dbh->prepare( "SELECT * FROM `wp_term_taxonomy` TT RIGHT JOIN `wp_terms` TE ON TT.`term_id` = TE.`term_id` WHERE TT.`taxonomy` = 'category' AND TE.`name` = :category" );
$stmt->bindParam( ':category', $_GET['cat'] );
$stmt->execute();

if ( $row = $stmt->fetch() ) {
    // It exists
} else {
    // It does not exist
}

答案 1 :(得分:2)

使用get_categories获取数组中的所有类别,然后使用in_array查找它存在的类别。然后,您可以使用相同的类别ID来获取有关该类别的更多信息。 参考:http://codex.wordpress.org/Function_Reference/get_categories#Source_File 参考:http://php.net/manual/en/function.in-array.php

示例:

<?php 
$cat_list = get_categories(); 

if (in_array($_GET['cat'], $cat_list)) {
// exists
} else {
// does not exists
}    
?>