在 wordpress php 代码中显示 gif
displaying a gif in php code in wordpress
我最近接手了一个客户的项目,该项目是用 wordpress 和 java 脚本构建的网站。之前的开发者没有评论他们的代码,所以我花了一些时间来破译它。
该站点使用 woocommerce 作为在线商店。客户要求当用户付款时,随后的感谢屏幕会显示一个动画 gif 表示感谢。
在标准的 woocommerce 结帐页面上插入 gif 很好并且有效。然而,客户希望它在购买后显示在用代码创建的感谢页面上。代码显示如下:
<?php if ( $order->has_status( 'failed' ) ) : ?>
<p><?php esc_html_e( 'Unfortunately your order cannot be processed as the originating bank/merchant has declined your transaction.', "wp-experts" ); ?></p>
<p><?php
if ( is_user_logged_in() )
esc_html_e( 'Please attempt your purchase again or go to your account page.', "wp-experts" );
else
esc_html_e( 'Please attempt your purchase again.', "wp-experts" );
?></p>
<p>
<a href="<?php echo esc_url( $order->get_checkout_payment_url() ); ?>" class="button pay"><?php esc_html_e( 'Pay', "wp-experts" ) ?></a>
<?php if ( is_user_logged_in() ) : ?>
<a href="<?php echo esc_url( wc_get_page_permalink( 'myaccount' ) ); ?>" class="button pay"><?php esc_html_e( 'My Account', "wp-experts" ); ?></a>
<?php endif; ?>
</p>
<?php else : ?>
<p><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', "wp-experts" ), $order ); ?></p>
<ul class="order_details pull-left">
<li class="order">
<?php esc_html_e( 'Order Number:', "wp-experts" ); ?>
<strong><?php echo ''.$order->get_order_number(); ?></strong>
</li>
<li class="date">
<?php esc_html_e( 'Date:', "wp-experts" ); ?>
<strong><?php echo date_i18n( get_option( 'date_format' ), strtotime( $order->order_date ) ); ?></strong>
</li>
<li class="total">
<?php esc_html_e( 'Total:', "wp-experts" ); ?>
<strong><?php echo ''.$order->get_formatted_order_total(); ?></strong>
</li>
<?php if ( $order->payment_method_title ) : ?>
<li class="method">
<?php esc_html_e( 'Payment Method:', "wp-experts" ); ?>
<strong><?php echo ''.$order->payment_method_title; ?></strong>
</li>
<?php endif; ?>
</ul>
<a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" class="btn btn-success pull-right">CLICK HERE TO GET STARTED!</a>
<div class="clear"></div>
<?php endif; ?>
<?php do_action( 'woocommerce_thankyou_' . $order->payment_method, $order->id ); ?>
<?php do_action( 'woocommerce_thankyou', $order->id ); ?>
<p><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', "wp-experts" ), null ); ?></p>
我在 google 上搜索了如何在 php 中显示 gif。
gif 已上传到我的服务器上,在主题的图像子目录中
我使用了来自 Whosebug 的想法,例如
$file = 'Camel-continuous-1.gif'
header('Content-type: image/gif');
readfile($file);
但这只会让网页崩溃。我把它放在上面代码中付款方式行的后面。
有什么想法吗?提前致谢
我无法根据代码片段判断插入位置,但如果您
<?php
//supposing the gif is in the same folder
$file = 'Camel-continuous-1.gif';
echo "<img src=\"".$file."\">";
?>
简而言之,你可以这样说:
<?php='<img src="/gifs/Camel-continuous-1.gif" >'?>
或者更简单,如果你想使用 short open tag
<?='<img src="/gifs/Camel-continuous-1.gif" >'?>
玩得开心
和@flomei 一样,我不确定我是否理解你想要什么,但如果你只想在 "Thank You" 文本附近的某处放置 gif,你可以在 php 中回显它。这会将其置于文本 "Thank you. Your order has been received":
之上
<?php if ( $order->has_status( 'failed' ) : ?>
<?php // deleted your existing code. ?>
<?php else : ?>
<?php echo '<img src="Camel-continuous-1.gif"> ?>
<?php // more deleted code. ?>
<?php endif; ?>
这对您不起作用,因为您混淆了引号。如果您使用双引号来分隔字符串,则必须将其反斜杠或在其中使用单引号。
以类似的方式,如果用单引号分隔字符串,则必须使用双引号。
<?php
// this outputs a error
$file = '/uploads/2018/07/Camel-continuous-2.gif';
echo "<img width="251" height="243" src=\"".$file."\">";
?>
这适用于任何 php 版本。这是在引号内使用反斜杠引号的干净方法
<?php
$file = "/uploads/2018/07/Camel-continuous-2.gif";
echo "<img width=\"251\" height=\"243\" src=\"".$file."\">";
?>
这也适用于某些 php 版本。 (在单引号内使用双引号
<?php
$file = '/uploads/2018/07/Camel-continuous-2.gif';
echo '<img width="251" height="243" src="'.$file.'">';
?>
这也适用于您,具体取决于您的 php 版本。在双引号内使用单引号
<?php
$file = "/uploads/2018/07/Camel-continuous-2.gif";
echo "<img width='251' height='243' src='".$file."'>";
?>
我最近接手了一个客户的项目,该项目是用 wordpress 和 java 脚本构建的网站。之前的开发者没有评论他们的代码,所以我花了一些时间来破译它。
该站点使用 woocommerce 作为在线商店。客户要求当用户付款时,随后的感谢屏幕会显示一个动画 gif 表示感谢。
在标准的 woocommerce 结帐页面上插入 gif 很好并且有效。然而,客户希望它在购买后显示在用代码创建的感谢页面上。代码显示如下:
<?php if ( $order->has_status( 'failed' ) ) : ?>
<p><?php esc_html_e( 'Unfortunately your order cannot be processed as the originating bank/merchant has declined your transaction.', "wp-experts" ); ?></p>
<p><?php
if ( is_user_logged_in() )
esc_html_e( 'Please attempt your purchase again or go to your account page.', "wp-experts" );
else
esc_html_e( 'Please attempt your purchase again.', "wp-experts" );
?></p>
<p>
<a href="<?php echo esc_url( $order->get_checkout_payment_url() ); ?>" class="button pay"><?php esc_html_e( 'Pay', "wp-experts" ) ?></a>
<?php if ( is_user_logged_in() ) : ?>
<a href="<?php echo esc_url( wc_get_page_permalink( 'myaccount' ) ); ?>" class="button pay"><?php esc_html_e( 'My Account', "wp-experts" ); ?></a>
<?php endif; ?>
</p>
<?php else : ?>
<p><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', "wp-experts" ), $order ); ?></p>
<ul class="order_details pull-left">
<li class="order">
<?php esc_html_e( 'Order Number:', "wp-experts" ); ?>
<strong><?php echo ''.$order->get_order_number(); ?></strong>
</li>
<li class="date">
<?php esc_html_e( 'Date:', "wp-experts" ); ?>
<strong><?php echo date_i18n( get_option( 'date_format' ), strtotime( $order->order_date ) ); ?></strong>
</li>
<li class="total">
<?php esc_html_e( 'Total:', "wp-experts" ); ?>
<strong><?php echo ''.$order->get_formatted_order_total(); ?></strong>
</li>
<?php if ( $order->payment_method_title ) : ?>
<li class="method">
<?php esc_html_e( 'Payment Method:', "wp-experts" ); ?>
<strong><?php echo ''.$order->payment_method_title; ?></strong>
</li>
<?php endif; ?>
</ul>
<a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" class="btn btn-success pull-right">CLICK HERE TO GET STARTED!</a>
<div class="clear"></div>
<?php endif; ?>
<?php do_action( 'woocommerce_thankyou_' . $order->payment_method, $order->id ); ?>
<?php do_action( 'woocommerce_thankyou', $order->id ); ?>
<p><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', "wp-experts" ), null ); ?></p>
我在 google 上搜索了如何在 php 中显示 gif。
gif 已上传到我的服务器上,在主题的图像子目录中
我使用了来自 Whosebug 的想法,例如
$file = 'Camel-continuous-1.gif'
header('Content-type: image/gif');
readfile($file);
但这只会让网页崩溃。我把它放在上面代码中付款方式行的后面。
有什么想法吗?提前致谢
我无法根据代码片段判断插入位置,但如果您
<?php
//supposing the gif is in the same folder
$file = 'Camel-continuous-1.gif';
echo "<img src=\"".$file."\">";
?>
简而言之,你可以这样说:
<?php='<img src="/gifs/Camel-continuous-1.gif" >'?>
或者更简单,如果你想使用 short open tag
<?='<img src="/gifs/Camel-continuous-1.gif" >'?>
玩得开心
和@flomei 一样,我不确定我是否理解你想要什么,但如果你只想在 "Thank You" 文本附近的某处放置 gif,你可以在 php 中回显它。这会将其置于文本 "Thank you. Your order has been received":
之上<?php if ( $order->has_status( 'failed' ) : ?>
<?php // deleted your existing code. ?>
<?php else : ?>
<?php echo '<img src="Camel-continuous-1.gif"> ?>
<?php // more deleted code. ?>
<?php endif; ?>
这对您不起作用,因为您混淆了引号。如果您使用双引号来分隔字符串,则必须将其反斜杠或在其中使用单引号。 以类似的方式,如果用单引号分隔字符串,则必须使用双引号。
<?php
// this outputs a error
$file = '/uploads/2018/07/Camel-continuous-2.gif';
echo "<img width="251" height="243" src=\"".$file."\">";
?>
这适用于任何 php 版本。这是在引号内使用反斜杠引号的干净方法
<?php
$file = "/uploads/2018/07/Camel-continuous-2.gif";
echo "<img width=\"251\" height=\"243\" src=\"".$file."\">";
?>
这也适用于某些 php 版本。 (在单引号内使用双引号
<?php
$file = '/uploads/2018/07/Camel-continuous-2.gif';
echo '<img width="251" height="243" src="'.$file.'">';
?>
这也适用于您,具体取决于您的 php 版本。在双引号内使用单引号
<?php
$file = "/uploads/2018/07/Camel-continuous-2.gif";
echo "<img width='251' height='243' src='".$file."'>";
?>