gpt4 book ai didi

php - 使用 woocommerce : get_gallery_attachment_ids() thumbs not showing 移动 wordpress

转载 作者:行者123 更新时间:2023-11-29 02:52:56 25 4
gpt4 key购买 nike

我正在尝试将一个 Wordpress 站点(目前由一家外国托管,难以与网络开发公司打交道)移动到另一台服务器,然后再将其关闭。我可以访问 wp-admin 但不能访问 cpanel 或 ftp,内存限制使我无法使用完整的复制/迁移插件。

我的大部分常规工作都是 HTML/CSS,我对 SQL 和 PHP 的经验很少,但我设法将站点零碎地复制并在我的本地机器上重新组装。除了一个我一直无法解决的琐碎问题外,它按预期运行。

woocommerce 产品页面按预期显示主图像,但产品库拇指显示为空; view image

显示图像的代码是:

<!-- first image is viewable to start -->
<?php echo the_post_thumbnail(); ?> </div>
<div class="previews">
<?php
$attachment_ids = $product->get_gallery_attachment_ids();
foreach ( $attachment_ids as $attachment_id ) {
$sql="select guid from wp_posts where ID=".$attachment_id;
$row=mysql_fetch_object(mysql_query($sql));
?>
<a data-full="<?php echo $row->guid;?>"><img src="<?php echo $row->guid;?>" width="56" height="58" /></a>
<?php }
?>
</div>

当我查看页面源代码时,img src 字面上是空的;

<a data-full=""><img src="" width="56" height="58" /></a>
<a data-full=""><img src="" width="56" height="58" /></a>
<a data-full=""><img src="" width="56" height="58" /></a>
<a data-full=""><img src="" width="56" height="58" /></a>
<a data-full=""><img src="" width="56" height="58" /></a>

不幸的是,我对 SQL 很无能,我假设这就是问题的根源?相同的代码在原始站点上运行良好,该站点已被准确复制(理论上),并且在编辑产品时应该显示的图像出现在“产品库”面板中。添加新图像会导致同样的问题。网站上的其他图片似乎工作正常。

对于可能发生的情况以及如何纠正此错误的任何建议,我们将不胜感激!

编辑添加:screencap of product edit page, shows the thumbnails that should be displayed

更新:

我插入了以下代码

<?php
global $product;
$attachment_ids = $product->get_gallery_attachment_ids();

foreach( $attachment_ids as $attachment_id )
{
echo $image_link = wp_get_attachment_image( $attachment_id );
}
?>

显示预期的图像。然而,这不是解决方案,因为图像需要在单击时更改主显示图像。

更新 2:

我已将 WP 降级以匹配原始站点,现在在空图像上方收到此错误:

警告:mysql_fetch_object():提供的参数不是 C:\xampp\htdocs...\themes\branchy\woocommerce\single-product.php 中的有效 MySQL 结果资源

在上面粘贴的代码中。

更新 3:

在原始站点上升级了 wordpress(幸运的是它还没有消失)并且图像仍然可以在那里正常工作

最佳答案

好的,我不确定为什么会首先出现问题,但它可能无法连接到数据库?

注意到原始代码中使用的 mysql api 已经过时,我改用 mysqli 重建了这段代码。

在遇到一些困难后,我设法弄清楚如何使用 $wpdb 而不是将连接字符串放入代码中(主要感谢 this article )

<!-- first image is viewable to start -->
<?php echo the_post_thumbnail(); ?>
</div>
<div class="previews">
<?php
global $wpdb;
$attachment_ids = $product->get_gallery_attachment_ids();

foreach ( $attachment_ids as $attachment_id ) {
$sql="SELECT guid FROM wp_1posts WHERE ID = ".$attachment_id;
$row=$wpdb->get_row($sql);
?>
<a data-full="<?php echo $row->guid;?>"><img src="<?php echo $row->guid;?>" width="56" height="58" /></a>

最重要的是,它正在运行!

感谢@Shawn 帮助我解决问题:)

关于php - 使用 woocommerce : get_gallery_attachment_ids() thumbs not showing 移动 wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33748261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com