使用字符串、数组或多个值创建变量

时间:2016-02-09 作者:Fearless Mode

我正在运行一些函数,允许用户从外部目录向我的自定义主题注册自己的自定义模板。他们可以在wp-admin 它们在前端渲染。

这一切都很好,但我想注册来自多个目录的文件,而不仅仅是一个目录。

我需要$file 相等的多个目录。我试过一个数组。我试过了&& 还有一些其他的东西,包括下面的代码,但都不起作用。

我不是职业选手,但我还缺什么?这能做到吗?在下面的代码中,我看到$file = 优先于上一个$file =.

那么我有什么办法$file 等于多条路径?

简而言之,我想要$file 考虑多条路径。

代码可能解释了我试图实现的目标。

    $file = CUSTOM_OPTION_BACKEND_TEMPLATES_PATH .      \'/home/\'            . get_post_meta( $post->ID, \'_wp_page_template\', true );
    $file = CUSTOM_OPTION_BACKEND_TEMPLATES_PATH .      \'/pages/\'           . get_post_meta( $post->ID, \'_wp_page_template\', true );
    $file = CUSTOM_OPTION_BACKEND_TEMPLATES_PATH .      \'/blog/\'            . get_post_meta( $post->ID, \'_wp_page_template\', true );
    $file = CUSTOM_OPTION_BACKEND_TEMPLATES_PATH .      \'/single-posts/\'    . get_post_meta( $post->ID, \'_wp_page_template\', true );
    $file = CUSTOM_OPTION_BACKEND_TEMPLATES_PATH .      \'/products/\'        . get_post_meta( $post->ID, \'_wp_page_template\', true );
    $file = CUSTOM_OPTION_BACKEND_TEMPLATES_PATH .      \'/templates/\'       . get_post_meta( $post->ID, \'_wp_page_template\', true );
    $file = CUSTOM_OPTION_BACKEND_TEMPLATES_PATH .      \'/products/\'        . get_post_meta( $post->ID, \'_wp_page_template\', true );


if ( file_exists( $file ) ) {
    return $file;
} 

1 个回复
最合适的回答,由SO网友:Max Yudin 整理而成

最后一个$file 优先于上一个

这是因为您将新值指定给$file 每行变量。

我认为您可以通过使用阵列来完成此操作的唯一方法是:

<?php
// define directory list
$directories = array(
    \'home\',
    \'pages\',
    \'blog\',
    \'single-posts\',
    \'products\',
    \'templates\',
    \'products\'
);
// run through directories and return the result for each of them
foreach($directories as $directory) {
    // create path for each directory
    $path = CUSTOM_OPTION_BACKEND_TEMPLATES_PATH . \'/\' . $directory . \'/\' . get_post_meta( $post->ID, \'_wp_page_template\', true );
    // return path if file exists
    if ( file_exists( $path ) )
        return $path;
}

相关推荐

在将代码添加到函数后无法登录WordPress wp-admin。php

我在函数末尾添加以下代码。php文件,用于根据自定义帖子的帖子标题填充分类法。问题是,当我添加代码时,尝试登录wp admin时会出现以下错误。非常感谢您能帮助我们弄清楚为什么会发生这种情况。Error:错误:由于意外输出,Cookie被阻止。有关帮助,请参阅此文档或尝试支持论坛。Code: <?php function update_custom_terms($post_id) { // only update terms if