我是一名前端设计师,开始涉足后端的东西。
我开始为我的旁边业务创建一个wordpress网站,并使用了几个不同的插件。为了让我成功使用这个插件,我必须编辑其中一个插件模板文件。当我在插件中使用某个选项(从亚马逊,tumblr,ebay,Instagram等下拉图像)时,它会下拉正确的图像,但在html中插入硬编码的宽度和高度。
这非常适合快速渲染页面,但我想更改html中图像的宽度和高度。
这是踢球者。在php中,插件中有一个模板文件,我看到它从中拉出来。这是模板文件中50%的常规html代码和50%的php。
(因此,在插件设置中,如果选择此选项,则会从该图像模板中提取。)
在模板中,有一个图像标记的部分。将<img xxxxxx src=xxxx width=xxxxx height=xxxxx alt=xxxxxx>
代码放入html。
以下是代码的读取方式。
<?php
/*
* Template: Image and Prices
* Stylesheets: basic.css, image.css
* Scripts: popover.js
*/
?>
<?php
$price_l = isset($item['attributes']['ListPrice']) ? $item['attributes']['ListPrice'] : false;
$price_c = isset($item['offer']) && isset($item['offer']['price']) ? $item['offer']['price'] : false;
$price_l_numeric = floatval(preg_replace('#[^\d.]#', '', $price_l));
$price_c_numeric = floatval(preg_replace('#[^\d.]#', '', $price_c));
?>
<div class="easyazon-block-information">
<?php if($image_atts) { ?>
<div class="easyazon-block-image-container">
<?php printf('<a %s><img %s /></a>', easyazon_collapse_attributes($link_atts), easyazon_collapse_attributes($image_atts)); ?>
</div>
<?php } ?>
<div class="easyazon-block-information-title"><?php printf('<a %s>%s</a>', easyazon_collapse_attributes($link_atts), esc_html($item['title'])); ?></div>
<div class="easyazon-block-information-prices">
<?php if($price_l && (false === $price_c || $price_l_numeric >= $price_c_numeric)) { ?>
<div class="easyazon-block-information-price"><?php printf('<td class="easyazon-block-information-price-label">%s:</td> <td class="easyazon-block-information-price-value"><a %s>%s</a></td>', __('List Price'), easyazon_collapse_attributes($link_atts), esc_html($price_l)); ?></div>
<?php } ?>
<?php if($price_c && 'N/A' !== $price_c) { ?>
<div class="easyazon-block-information-price"><?php printf('<td class="easyazon-block-information-price-label">%s:</td> <td class="easyazon-block-information-price-value"><a %s>%s</a></td>', __('Price'), easyazon_collapse_attributes($link_atts), esc_html($price_c)); ?></div>
<?php } ?>
<?php if($item['offer'] && $item['offer']['saved'] && 'N/A' !== $item['offer']['saved']) { ?>
<div class="easyazon-block-information-price"><?php printf('<td class="easyazon-block-information-price-label">%s:</td> <td class="easyazon-block-information-price-value"><a %s>%s</a></td>', __('You Save'), easyazon_collapse_attributes($link_atts), esc_html($item['offer']['saved'])); ?></div>
<?php } ?>
</div>
<?php if($cta_atts) { ?>
<div class="easyazon-block-information-cta">
<?php $cta_atts['class'][] = 'easyazon-block-cta'; ?>
<?php printf('<a %s><img %s /></a>', easyazon_collapse_attributes($link_atts), easyazon_collapse_attributes($cta_atts)); ?>
</div>
<?php } ?>
<div class="easyazon-block-information-price-disclaimer">
<small class="easyazon-price-disclaimer" data-content="<?php printf(__('Prices are accurate as of %1$s. Product prices and availability are subject to change. Any price and availablility information displayed on Amazon at the time of purchase will apply to the purchase of any products.'), date('F j, Y \a\t g:i A', $item['fetched'] + get_option('gmt_offset') * HOUR_IN_SECONDS)); ?>"><?php _e('Price Disclaimer'); ?></small>
</div>
</div>
s%是什么意思?这段代码如何为图像提供所有这些信息。它位于插件中的其他位置吗?还有很多其他文件夹。我个人无法找到它,也许我看起来不够努力?
答案 0 :(得分:1)
%s
是一个类型说明符,这意味着它会将其视为一个字符串。
它使用带有这些指定的format参数作为插槽,以下参数将插入到插槽中。
$format = 'some digit %d and some string %s';
echo sprintf($format, $digit, $string);