Expressions and str_replace

时间:2017-02-21 作者:kiarashi

<div class="form-container">

    <div class="form-field">
        <label>
            <input id="woo-bookings-enabled" type="checkbox" name="woo-bookings-enabled" value="1">Enable bookings
        </label>
    </div>

    <div class="form-field hide-if-bookings-disabled" style="display: block;">
        <label>
            Length:  <input type="number" name="..." value="1">
            <select>
                    <option>...</option>
                    <option>...</option>
            </select>
        </label>
    </div>


    <div class="form-field hide-if-bookings-disabled">
        <label>Cost: <input type="number" name="session-cost" value="0" min="0" step="0.01">
        </label>
    </div>


    <div class="form-field hide-if-bookings-disabled">
        <label>
            <input type="checkbox" name="customer-timezone" value="on">Use the customer\'s timezone
        </label>
    </div>

</div>
现在我想添加一个额外的html代码<span class="form-field-checkbox"></span>input["type=checkbox"] 只有

我的函数是这样的,但它并没有像我希望的那样工作。

function theme_form_checkbox($output) {
    $search  = array(\'<div class="form-field"><label><input .*?checkbox.*?>\',\'</label>\');
    $replace = array(\'<div class="form-field"><label><input .*?checkbox.*?>\', \'<span class="form-field-checkbox"></span></label>\'); 

    return str_replace( $search, $replace, $output );
}   
add_filter( \'the_content\', \'theme_form_checkbox\', 99, 1 );
非常感谢您的帮助

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

我从一个非常困难的角度来看这个问题,而答案很简单。对于处于类似情况的任何人:

$(\'<span class="form-field-checkbox"></span>\').insertAfter(\'input:checkbox,input:radio\');

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register