仅当在开机自检时插入值时,才在侧边栏上显示

时间:2013-05-05 作者:mus720714

This is the statement of post submit:*

<fieldset>        
  <label for=MarketItem_cost><?php echo __(\'Software Version\', \'WpForest\'); ?>:</label>
  <p><input type="text" size="50" class="do_input"  name="soft" value="<?php echo get_post_meta( $pid, \'WpForest_soft\', true ); ?>" /> 
  </p>
</fieldset> 
This is the statement on sidebar display:

<tr>
  <td class="attr-name"><?php echo __(\'Software Version\', \'WpForest\'); ?></td>
  <td class="attr-detail"><?php if ( get_post_meta( $post->ID, \'WpForest_soft\', true )) : ?> </td>
</tr>
我想要的是,如果在post表单上输入了任何值,那么它将出现在侧栏上,但当输入为空时,它将不会显示。

现在,它将在侧边栏上显示所有内容,无论输入是否有值。

如何用上面所述的当前编码对其进行编码。

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

尝试使用此选项:

// Get the \'WpForest_soft\' custom field value.
$text = get_post_meta( $post->ID, \'WpForest_soft\', true );

// Print the value and surrounding markup only if the value tests true.
if ( $text )
    printf( \'<tr><td class="attr-name">%s</td><td class="attr-detail">%s</td></tr>\', __( \'Software Version\', \'WpForest\' ), $text );
一般情况

要使用任何可选标记执行上述操作,请执行以下步骤。

1) 将的自定义字段值放置在变量中。使用相关变量名。

// Get the \'WpForest_soft\' custom field value.
$wpforest_soft = get_post_meta( $post->ID, \'WpForest_soft\', true );
2)编写一个PHP条件测试步骤1中的值。

if ( $wpforest_soft ) {
}
3)将标记添加到该条件中。

if ( $wpforest_soft ) {
    ?>
    <a href="<?php bloginfo(\'url\'); ?>/theme-demo/<?php echo the_ID(); ?>" class=\'blue-btn right ml10 live-preview\' target=\'_blank\'>Live Preview</a>
    <a href="<?php bloginfo(\'url\'); ?>/theme-demo/<?php echo the_ID(); ?>" class=\'blue-btn right ml10 live-preview\' target=\'_blank\'>Video Preview</a>
    <a href="<?php bloginfo(\'url\'); ?>/screenshots/<?php echo the_ID(); ?>" class=\'blue-btn right ml10 screenshots\' target=\'_blank\'>Screenshots</a>
    <?php
}
4)(可选)避免跳入和跳出PHP和标记。这个printf() PHP函数可以提供帮助。

if ( $wpforest_soft ) {
    printf(
        \'<a href="%1$s/theme-demo/%2$s" class="%3$s" target="_blank">Live Preview</a>\' .
        \'<a href="%1$s/theme-demo/%2$s" class="%3$s" target="_blank">Video Preview</a>\' .
        \'<a href="%1$s/screenshots/%2$s" class="%4$s" target="_blank">Screenshots</a>\',

        get_bloginfo( \'url\' ),
        get_the_ID(),
        \'blue-btn right ml10 live-preview\',
        \'blue-btn right ml10 screenshots\'
    );
}
或者只是:

if ( $wpforest_soft )

    printf(
        \'<a href="%1$s/theme-demo/%2$s" class="%3$s" target="_blank">Live Preview</a>\' .
        \'<a href="%1$s/theme-demo/%2$s" class="%3$s" target="_blank">Video Preview</a>\' .
        \'<a href="%1$s/screenshots/%2$s" class="%4$s" target="_blank">Screenshots</a>\',

        get_bloginfo( \'url\' ),
        get_the_ID(),
        \'blue-btn right ml10 live-preview\',
        \'blue-btn right ml10 screenshots\'
    );

结束

相关推荐

dynamic sidebar in front page

我正在开发“二十十个孩子”主题,希望在首页显示动态侧边栏,但有些地方不太对劲。我修改了loop-page.php:<div class=\"entry-content\"> <?php dynamic_sidebar(\'promotion-sidebar\'); ?> //ADDED LINE <?php the_content(); ?> <?php wp_link_pages( array( \'before\