zoukankan      html  css  js  c++  java
  • archdexls主题游戏页面game-play.php有评论时,报错( ! ) Warning: printf(): Too few arguments in D:wampwwwwp-content hemesarcadexlsgames-play.php on line 97

    ( ! ) Warning: printf(): Too few arguments in D:wampwwwwp-content	hemesarcadexlsgames-play.php on line 97
    Call Stack
    #    Time    Memory    Function    Location
    1    0.0000    241656    {main}( )    ..index.php:0
    2    0.0000    244696    require( 'D:wampwwwwp-blog-header.php' )    ..index.php:17
    3    0.5254    33285248    require_once( 'D:wampwwwwp-includes	emplate-loader.php' )    ..wp-blog-header.php:16
    4    0.5254    33285336    do_action( )    ..	emplate-loader.php:12
    5    0.5313    33304000    call_user_func_array:{D:wampwwwwp-includesplugin.php:496} ( )    ..plugin.php:496
    6    0.5313    33304080    arcadexls_play_template_redirect( )    ..plugin.php:496
    7    0.5313    33304272    get_template_part( )    ..	emplate_redirect.php:118
    8    0.5313    33305136    locate_template( )    ..general-template.php:171
    9    0.5313    33305320    load_template( )    ..	emplate.php:477
    10    0.5313    33322456    require( 'D:wampwwwwp-content	hemesarcadexlssingle-play.php' )    ..	emplate.php:503
    11    0.7578    34129056    get_template_part( )    ..single-play.php:8
    12    0.7578    34129760    locate_template( )    ..general-template.php:171
    13    0.7578    34129880    load_template( )    ..	emplate.php:477
    14    0.7578    34196248    require( 'D:wampwwwwp-content	hemesarcadexlsgames-play.php' )    ..	emplate.php:503
    15    0.8018    34206848    printf ( )    ..games-play.php:97

    第97行代码

                <span class="iconb-date"><?php _e('Uploaded on:', MYAPB_THEMENAME); ?> <strong><?php echo get_the_date('d'); ?> <?php echo get_the_date('M'); ?> , <?php echo get_the_date('Y'); ?></strong></span> <span class="iconb-user"><?php _e('Uploader:', MYAPB_THEMENAME); ?> <a href="<?php echo get_author_posts_url($post->post_author); ?>"><?php the_author_meta('display_name',$post->post_author); ?></a></span> <span class="iconb-cate"><?php _e('Categories:', MYAPB_THEMENAME); ?> <?php echo get_the_category_list(', '); ?></span> <span class="iconb-comt"><?php printf( _n( 'Comments: <strong>%2$s</strong>', 'Comments: <strong>%1$s</strong>', get_comments_number(), MYAPB_THEMENAME),number_format_i18n( get_comments_number() )); ?></span> <?php echo get_the_tag_list('<span class="iconb-tags">'.__('Tags:', MYAPB_THEMENAME).' ', ', ','</span>'); ?>

    其中显示评论及其条数的代码

    <?php printf( _n( 'Comments: <strong>%2$s</strong>', 'Comments: <strong>%1$s</strong>', get_comments_number(), MYAPB_THEMENAME),number_format_i18n( get_comments_number() )); ?>

    不是太懂,稍微查了一下,“如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入 % 符号之后,由数字和 "$" 组成。”

    其中的"%1$s"和"%2$s"说占位符吧,少了;说不是占位符吧,多了数字和$;搞不懂这里_n是做什么用的,也是一个函数,而且要四个参数?

    <?php echo MYAPB_THEMENAME ?>的结果是arcadexls

    <?php echo get_comments_number() ?>的结果是1

    <?php echo _n( 'Comments: <strong>%2$s</strong>', 'Comments: <strong>%1$s</strong>', get_comments_number(), MYAPB_THEMENAME) ?>的结果是Comments: %2$s

    <?php echo number_format_i18n( get_comments_number() ) ?>的结果是1

    故最后printf()方法的实际调用为printf("%2$s", 1);  很明显这个应该是有问题的

    将代码中的1$和2$都去掉,改为

    <?php printf( _n( 'Comments: <strong>%s</strong>', 'Comments: <strong>%s</strong>', get_comments_number(), MYAPB_THEMENAME),number_format_i18n( get_comments_number() )); ?>

    OK,至少可以解决眼下问题,虽然没完全弄明白!

  • 相关阅读:
    php详解和优化
    接口
    抽象类
    对象转型
    面向对象2
    Super关键字
    Object类介绍
    有效处理java异常的三个原则
    this关键字
    equals方法
  • 原文地址:https://www.cnblogs.com/cuizhf/p/4548048.html
Copyright © 2011-2022 走看看