【问题标题】:Wordpress post filterWordpress 后置过滤器
【发布时间】:2017-01-23 17:38:43
【问题描述】:

抱歉,如果这是一个太随机的问题,但我对编码完全陌生。有关信息,我正在使用购买的主题,该主题与名为“WP Car Manager”的 wordpress 插件集成。

主题/插件中内置了一个后期过滤器,我想修改其中一个字段以过滤不同的字段。

我找到了过滤器 php 文件,虽然它很容易更改过滤器中的选择值和字段标签,但我不知道如何让它真正过滤我选择的选项。

这里是原始代码:

<div class="col-sm-6">
<div class="wpcm-filter wpcm-filter-frdate">
    <label><?php esc_html_e( 'First Registration', 'carmen' ); ?></label>
    <select name="frdate_to" data-placeholder="<?php esc_attr_e( 'First Registration', 'carmen' ); ?>">
        <option value="0"><?php esc_html_e( 'First Registration', 'carmen' ); ?></option>
        <?php for ( $i = 2015; $i >= 1900; $i -- ) : ?>
            <?php
            if ( $i < 1970 && 0 != ( $i % 5 ) ) {
                continue;
            }
            ?>
            <option value="<?php echo esc_attr( $i ); ?>"><?php echo esc_html( $i ); ?></option>
        <?php endfor; ?>
    </select>
</div>

我已修改如下:

<div class="col-sm-6">
<div class="wpcm-filter wpcm-filter-frdate">
    <label><?php esc_html_e( 'Tier', 'carmen' ); ?></label>
    <select name="frdate_to" data-placeholder="<?php esc_attr_e( 'Tier', 'carmen' ); ?>">
        <option value="0"><?php esc_html_e( 'Tier', 'carmen' ); ?></option>
        <option value="1">Tier 1</option>
        <option value="2">Tier 2</option>
        <option value="3">Tier 3</option>

    </select>
</div>

现在,在过滤器上,我当然会看到不同的标签和选择选项,但过滤器不会过滤这些选项。令我困惑的是,我在原始代码中没有看到任何地方说明它实际过滤的是哪个字段。

为我的极端新手道歉,如果有任何帮助可以为我指明正确的方向,我将非常感激。

【问题讨论】:

标签: php wordpress filter


【解决方案1】:

那是因为在你的循环中

for ( $i = 2015; $i >= 1900; $i -- ) :

递减索引是从 2015 年到 1900 年,而不是 0、1、2...,就像您在新选择字段中所做的那样。

【讨论】:

    【解决方案2】:

    请使用此代码

    <div class="col-sm-6">
        <div class="wpcm-filter wpcm-filter-frdate">
            <label><?php esc_html_e( 'Tier', 'carmen' ); ?></label>
            <select name="frdate_to" data-placeholder="<?php esc_attr_e( 'Tier', 'carmen' ); ?>">
                <option value="1969"><?php esc_html_e( 'Tier', 'carmen' ); ?></option>
                <option value="1968">Tier 1</option>
                <option value="1967">Tier 2</option>
                <option value="1966">Tier 3</option>
    
            </select>
        </div>
    

    您输入了错误的选项值。 循环从 2015 年到 1900 年在原始循环中运行。不是 0 到......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      • 2020-03-05
      • 1970-01-01
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      相关资源
      最近更新 更多