pdr
  • 0
Новичок

Код для извлечения файла PHP, названного в соответствии с идентификатором категории

  • 0

Я использую этот код для извлечения изображения на основе категории сообщения. Изображения называются в соответствии с категорией, которую они представляют, поэтому пост в категории 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 (также названный в честь категории — так что 50.php, используя приведенный выше пример).

Как лучше всего это сделать?

Share
  1. <?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();
    } 
    ?>
    

    Преимущество этого метода в том, что он не требует включения файла. Это преимущество будет наиболее заметным, если вы попадете в одну и ту же категорию несколько раз за загрузку страницы.

    • 0

Оставить ответ

You must login to add an answer.