可插拔开关语句

时间:2012-07-05 15:07:06

标签: php wordpress-theming switch-statement

我有以下开关声明:

switch($post->post_type) {

    default:

        echo 'default';

<?php }

这本质上是尽可能基本的。 post->post_type只是一个变量,它将根据项目的帖子类型(WordPress)返回一个字符串。

我希望能够做的是插入switch语句,就像某个数组一样 - 就像这样:

function add_extra_fruits($fruits) {

$extra_fruits = array(
    'plums',
    'kiwis',
    'tangerines',
    'pepino melons'
);

// combine the two arrays
$fruits = array_merge($extra_fruits, $fruits);

return $fruits;
}
add_filter('add_fruits', 'add_extra_fruits');

使用array_merge()函数。

我给出了以下示例来尝试:

switch ( true /* we're comparing a boolean, not the post type! */ ) {
    case has_action( "basey_loop_single_$post->post_type" ) :
        do_action( "basey_loop_single_$post->post_type" );
        break;

    default :
        // default post layout
}

但是我不确定这是否能完成我通过示例动作后所做的事情,如下所示:

function basey_loop_single_page_output() {
    echo 'test';
}
add_action('basey_loop_single_page', 'basey_loop_single_page_output');
当指定满足$post->post_type条件时,

不返回任何内容。任何人都知道如何处理这个问题?最简单的,这是一个核心PHP问题(关于插入switch语句),但显然这里的一些术语更适合WordPress。

谢谢!

0 个答案:

没有答案