【如何将此php指令插入printf结果()】我是PHP World的新手, 并且自定义了WordPress模板。
我在php文件中具有以下功能:
function admired_posted_on() {
printf( __( '<
span class="sep">
Posted on <
/span>
<
a href="http://www.srcmini.com/%1$s" title="%2$s" rel="bookmark">
<
time class="entry-date" datetime="%3$s" pubdate>
%4$s<
/time>
<
/a>
<
span>
BLABLA<
/span>
<
span class="by-author">
<
span class="sep">
by bla<
/span>
<
span class="author vcard">
<
a class="url fn n" href="http://www.srcmini.com/%5$s" title="%6$s" rel="author">
%7$s<
/a>
<
/span>
<
/span>
', 'admired' ), esc_url( get_permalink() ), esc_attr( get_the_time() ), esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ), esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), sprintf( esc_attr__( 'View all posts by %s', 'admired' ), get_the_author() ), esc_html( get_the_author() )
);
}
现在, 我必须在printf主体内部将以下php代码插入BLABLA标记中, 而不是” BLABLA” 文本中。这是我必须插入的php代码:
<
?php echo '(' . get_PostViews(get_the_ID()) . ')';
?>
如果我将ithis行插入上一个span标签, 则会出错。
get_PostViews(get_the_ID())返回一个必须在该范围内显示的整数
有人可以帮我吗?
#1如果在用单引号引起来的字符串中有单引号’ , 则必须转义该引号。像这样(注意\’ ):
$string = '<
span class="sep">
Posted on <
?php echo \'(\' . get_PostViews(get_the_ID()) . \')\';
?>
<
/span>
... more content ....';
但是在你的示例中, 以下解决方案可能更简单:
$string = '<
span class="sep">
Posted on (<
?php echo get_PostViews(get_the_ID());
?>
)<
/span>
... more content ....';
#2这是你的功能的替代方法。
function admired_posted_on() {
printf( __( '<
span class="sep">
Posted on <
/span>
<
a href="http://www.srcmini.com/%1$s" title="%2$s" rel="bookmark">
<
time class="entry-date" datetime="%3$s" pubdate>
%4$s<
/time>
<
/a>
<
span>
%5$s<
/span>
<
span class="by-author">
<
span class="sep">
by bla<
/span>
<
span class="author vcard">
<
a class="url fn n" href="http://www.srcmini.com/%6$s" title="%7$s" rel="author">
%8$s<
/a>
<
/span>
<
/span>
', 'admired' ), esc_url( get_permalink() ), esc_attr( get_the_time() ), esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ), get_PostViews(get_the_ID()), esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), sprintf( esc_attr__( 'View all posts by %s', 'admired' ), get_the_author() ), esc_html( get_the_author() )
);
}
附加答案:
要回答你的问题, 如果你在一行中看到它, 这可能会更容易。
printf('First Var: %1$s | Second Var: %2$s | Third Var: %3$s', $firstvar, $secondvar, $thirdvar);
%1 $ s是在引号后面列出的进行变量的占位符。
可以以相同的方式显示相同的信息, 但以原始帖子的不同方式显示
printf('First Var: %1$s | Second Var: %2$s | Third Var: %3$s', $firstvar, $secondvar, $thirdvar
);
并且在文本前面添加下划线, 可以将文本翻译成多种语言(这是Wordpress中的功能), 并且带有” 钦佩” 的逗号仅表示钦佩主题标识符, 它将在其中寻找翻译方法。
printf(__('First Var: %1$s | Second Var: %2$s | Third Var: %3$s', 'admired'), $firstvar, $secondvar, $thirdvar
);
推荐阅读
- 如何在WordPress中从静态页面链接到index.php()
- Java Collection接口之( List接口&Set接口)
- Linux用户权限小练习
- 运维小白成长记——第二周
- oeasy教您玩转vim - 85 - # 全局命令
- 分布式专题——分布式限流解决方案
- 使用阿里巴巴开源镜像站镜像——Kubernetes 镜像
- #yyds干货盘点#Prometheus 之监控基础知识
- 反向代理负载均衡!优秀的Nginx