我正在编写一个简单的脚本 php。此脚本必须知道 wordpress cms 中是否存在通过 $_get 传递的指定类别。
存在.php?cat=xxx
我读过这个,但我不确定它是否能帮助我。 http://codex.wordpress.org/Function_Reference/is_category
谁能帮我?我能怎么做?谢谢。
我正在编写一个简单的脚本 php。此脚本必须知道 wordpress cms 中是否存在通过 $_get 传递的指定类别。
存在.php?cat=xxx
我读过这个,但我不确定它是否能帮助我。 http://codex.wordpress.org/Function_Reference/is_category
谁能帮我?我能怎么做?谢谢。
由于您似乎正在尝试从单独的 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
}
使用 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
}
?>