用于拉入以类别ID命名的PHP文件的代码

时间:2011-03-15 作者:PDR

我使用此代码根据帖子的类别拉入图像。图像是根据它们所代表的类别命名的,因此第50类中的一篇文章将占50%。jpg。

<?php 
foreach((get_the_category()) as $category) { 
    echo \'<img src="/path/to/file/\' . $category->cat_ID . \'.jpg" alt="\' . $category->cat_name . \'" />\'; 
} 
?>
我也希望能够做到这一点,但要包含一个php文件(也以类别命名-使用上述示例的so 50.php)。

最好的方法是什么?

1 个回复
最合适的回答,由SO网友:John P Bloch 整理而成

<?php 
foreach((get_the_category()) as $category) { 
    if( file_exists( \'/path/to/file/to/include/\' . $category->cat_ID . \'.php\' ) )
        include( \'/path/to/file/to/include/\' . $category->cat_ID . \'.php\' );
} 
?>
这应该可以奏效。如果文件不存在,它只会跳过它。但是,如果要循环浏览大量类别,那么这样做的成本可能会很高。

编辑如果您想在每个类别的基础上使用自定义函数,可以执行以下操作:

<?php
// Create one function like this for each category
function my_custom_category_50(){
  // Do some awesome stuff.
}

// Use this to loop through the categories
foreach((get_the_category()) as $category) { 
  $func = \'my_custom_category_\' . $category->cat_ID;
  if( function_exists( $func )
    $func();
} 
?>
这种方法的优点是不需要包含文件。如果您在每次页面加载时多次访问同一类别,这一优势将最为明显。

结束

相关推荐

在自定义元框中发布摘录...帮助了解正确的php格式

我有一个定制的元框,附在一个帖子类型上,显示客户提交新想法的方式。客户应该用30个字符或更少的字符来总结他们的想法,这似乎是post\\u摘录的一个很好的用途。我对php不太在行(仍在学习中),因此如果您能帮助我正确使用echo语句,我将不胜感激。下面是我的自定义元框。为了简单起见,我去掉了其他一切。帖子摘录将显示在元框中,但任何编辑都不会保存在元框中。我做错了什么?function idea_information() { global $post; // No