所有库都存储在一个名为wp_ngg_gallery
在wordpress数据库中。(为了完整性:nextGen Gallery分别为相册和图片创建了另外两个表格)
$gallery_ids = $wpdb->get_results(
"SELECT gid FROM ".$wpdb->prefix."ngg_gallery ORDER BY gid ASC", ARRAY_A);
将所有库的ID提取到一个数组中,按ID从1到末尾排序。现在排除两个幻灯片(示例将假定其ID为4和25):
$gallery_ids = $wpdb->get_results(
"SELECT gid
FROM ".$wpdb->prefix."ngg_gallery
WHERE gid NOT IN (4, 25)
ORDER BY gid ASC", ARRAY_A);
没有画廊标题的ID有什么用?另外,按标题排除不是更容易吗?所以这个
$galleries = $wpdb->get_results(
"SELECT gid, title
FROM ".$wpdb->prefix."ngg_gallery
WHERE title NOT IN (slideshow_1, slideshow_2)
ORDER BY title ASC", ARRAY_A);
将为您提供一个按库标题字母顺序排列的所有非幻灯片放映库的数组。也可以使用通配符进行选择
*
而不是
gid, title
, 然后,您将从gallery表中获得所有列,它们是gid、name、slug、path、title、galdesc、pageid、previewpic、author。
结果数组显然毫无意义,除非您对其进行一些操作,例如对其进行迭代并创建链接列表。
结果数组的结构为:
Array
(
[0] => Array
(
[\'gid\'] => 4
[\'title\'] => \'playing_football\'
)
[1] => Array
(
[\'gid\'] => 8
[\'title\'] => \'vacation_pics\'
)
)
你明白了。
EDIT: Creating a navigation from the above database query
假设您已经从“下一个库>管理库”对话框中为所有库创建了页面,下面将从中创建一个简单的导航。必须从数据库中选择pageid和title列。
echo \'<ul>\';
foreach ( $galleries as $gallery ) {
echo \'<li><a href="\' .
get_bloginfo( \'url\' ) .
\'/?p=\' .
$gallery[\'pageid\'] .
\'">\' .
$gallery[\'title\'] .
\'</a></li>\';
}
echo \'</ul>\';
阅读,以防万一: