正在尝试获取黑客类别下拉列表中的变量

时间:2013-01-27 作者:Sweepster

我发现了一种解决方法,可以将wp\\U category\\u下拉列表显示为多选字段。我的代码如下:

<?php
$sponsors = wp_dropdown_categories( array(
    \'child_of\' => 0,
    \'class\' => \'postform\',
    \'depth\' => 0,
    \'echo\' => 0,
    \'exclude\' => \'\',
    \'hide_empty\' => false,
    \'hide_if_empty\' => false,
    \'hierarchical\' => true,
    \'order\' => \'ASC\',
    \'orderby\' => \'name\',
    \'selected\' => 0,
    \'show_count\' => 0,
    \'show_option_all\' => \'\',
    \'show_option_none\' => __(\'\'),
    \'tab_index\' => 0,
    \'taxonomy\' => \'sponsors\', )
    );

$sponsors = str_replace(
    "name=\'cat\' id=",
    "name=\'cat[]\' multiple=\'multiple\' size=\'19\' id=",
    $sponsors
);
?>
到目前为止,一切顺利。问题是,上面输出的输入名称为“cat”,这很好,很漂亮,除非我需要使用更具定义性的名称多次循环上述内容。

因此,我需要输入的名称采用以下格式:

name="scrape[<?php echo $inpCnt; ?>][sponsors]"
但是,这样做行不通:

$sponsors = str_replace(
    "name=\'scrape[\'.$inpCnt.\'][sponsors]\' id=",
    "name=\'scrape[\'.$inpCnt.\'][sponsors][]\' multiple=\'multiple\' size=\'19\' id=",
    $sponsors
);
那我该怎么办?

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

圆点. 在您的代码中,计算为字符串litral,而不是串联。意思是如果$inpCnt 等于5 例如,php将搜索name=\'scrape[\'.5.\'][sponsors]\' id= 而且找不到它。您可以在仍使用双引号的情况下删除点:

$sponsors = str_replace(
    "name=\'scrape[\'$inpCnt\'][sponsors]\' id=",
    "name=\'scrape[\'$inpCnt\'][sponsors][]\' multiple=\'multiple\' size=\'19\' id=",
    $sponsors
);
。。或使用串联:

$sponsors = str_replace(
    \'name=\\\'scrape["\'.$inpCnt.\'"][sponsors]\\\' id=\',
    \'name=\\\'scrape["\'.$inpCnt.\'"][sponsors][]\\\' multiple=\\\'multiple\\\' size=\\\'19\\\' id=\',
    $sponsors
);

结束

相关推荐

Limit Loop to 5 Posts?

这是我当前的循环:<?php if ( ! empty ( $GLOBALS[\'post\'] ) && is_single() && in_category( \'movies\', $GLOBALS[\'post\'] ) ) : $movies = new Wp_Query(\'tag=movie-reviews\'); while ( $movies->have_posts() ) : $movies->the_post