分享两个WP相关的函数
2008.06.24 1:16 上午 WordPress
其实我收集了一些关于WP的模板制作的资料和函数
下面这个函数可以很容易获得日志的分类ID
获得当前日志的分类
你可以把他复制到模板文件functions.php中去
function category_id($post)
{ global $wpdb, $table_prefix, $post;
$sql = "SELECT tt.term_id FROM ". $table_prefix ."term_taxonomy tt, " . $table_prefix . "term_relationships tr WHERE tt.taxonomy = 'category' AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id = $post->ID";
$cats = $wpdb->get_results($sql);
foreach($cats as $cat) {
$result = $cat->term_id;
}
return $result;
}
要使用他很简单
只要将你的日志全局变量传入就OK了,像这样:
echo $c = category_id($post);
获得日志内容的全部图片函数
function getImgTags($s) {
$result=array();
$p = "#<img\s+(?:[^>]+\s+)*src=[\"']?([^>]+?)[\"']?(?:\s+[^>]+)*\s*/?>#sim";
$r=preg_match_all($p,$s,$o);
if (!$r) {return false;}
else
{
foreach ($o[0] as $k=>$v)
{
$result[$k]["tagStr"]=$v;
$result[$k]["src"]=$o[1][$k];
$p2 = "#<img\s+(?:[^>]+\s+)*(alt|title)=[\"']?([^>]+?)[\"']?(?:\s+[^>]+)*\s*/?>#sim";
$r2=preg_match($p2,$v,$o2);
if ($r2) $result[$k][$o2[1]]=$o2[2];
}
}
return $result;
这个函数可能有些复杂,不过他可是相当的强大,前些日子为了应付一个摄影网站写的,他可以获得下面这种格式的图片地址和说明:
<img src="a.gif" alt="a" />
使用方法:
<?php $result = getImgTags(get_the_content()); if($result) : foreach ($result as $v) : ?> <a href="<?php echo $v["src"]; ?>" class="lightview" rel="gallery[credit]" title="<?php echo $v["alt"]; ?>"><img src="<?php echo $img_link; ?>" alt="<?php echo $v["alt"]; ?>" title="<?php echo $v["alt"]; ?>" /></a> <?php endforeach; ?> <?php endif; ?>
首先是将我们日志的正文传入getImgTags函数,然后得到一个数组,通过使用foreach循环一一将数组取出,
图片名为<?php echo $v["src"]; ?>alt信息为<?php echo $v["alt"]; ?>
当然这些都只是实验性的,并不保证性能会很好,但是就我使用以来没有出现过问题。
还有很多很多技巧,因为实在不想写东西,所以很少发布…