如何在foreach循环中使用函数而不重声明问题或将其置于foreach循环之外?

时间:2019-05-03 14:05:34

标签: php wordpress function loops foreach

我正在为主题创建一个管理页面。在管理员页面中,管理员可以转到选项页面并选择他们要打开的自定义帖子类型。我已经运行了第一部分(他们在其中放置了所需的自定义帖子类型以及这些自定义帖子类型的名称的页面)。我在第二部分遇到麻烦:使用foreach循环获取第一步中收集的信息,然后通过一个函数来注册该帖子类型。

  • 使用常规函数时,将出现致命错误,提示您无法重新声明相同的函数。
  • 将函数置于foreach循环之外时,我将无法获得每个循环项的信息。
  • 将函数放入变量中让我想知道如何仍然可以使用函数名将add_action挂接到WordPress中。
  • 我找不到可行的解决方案,或者至少我理解。我通常能够很好地处理PHP,尤其是在WordPress中工作。尽管问题看起来很简单,但解决方案可能会超出我的范围。

foreach循环的开始

foreach($custom_post_type_select as $custom_post_type) {
    $custom_post_type_number = $custom_post_type_integer+1;

    $custom_post_type_name = "custom_post_type_name_$custom_post_type_number";
    $register_custom_post_type_name = $custom_post_type_selection[$custom_post_type_name];

    $custom_post_type_marker = "custom_post_type_activate_$custom_post_type_number";
    $register_custom_post_type_activate = $custom_post_type_selection[$custom_post_type_marker];

注册自定义帖子类型:

function register_custom_post_type() {
$args = array(
    'public' => true,
    'labels' => array(
        'name' => $register_custom_post_type_name,
        'singular_name' => $register_custom_post_type_name,
    'public' => true,
    'has_archive' => true,
    'supports' => array('title'),
    'show_ui' => true);
register_post_type($register_custom_post_type_name,$args);};

if(stripos($register_custom_post_type_activate,'yes') !== false) {
    add_action('init','register_custom_post_type');}

foreach循环的结尾:

if(++$custom_post_type_integer == $custom_post_type_variable)
    break;}}

如何既可以使用foreach循环获取正确的信息,又可以使用由add_action调用的函数?

0 个答案:

没有答案