分享两个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"]; ?>
当然这些都只是实验性的,并不保证性能会很好,但是就我使用以来没有出现过问题。
还有很多很多技巧,因为实在不想写东西,所以很少发布…