当前位置: 首页 > 知识库问答 >
问题:

使用高级自定义字段的Wordpress自定义字段

蓬森
2023-03-14

我在修改我安装的WordPress流行帖子插件时遇到了一些问题。

它可以选择从自定义字段获取缩略图,我已将其输入为“image_facebook”。但是缩略图没有显示。

在检查代码时,我发现imgsrc有post id而不是返回图像URL。

"<img src="5438" width="135" height="135" alt="Alt text" border="0" />"

我已经把问题缩小到我安装的另一个插件http://wordpress.org/plugins/advanced-custom-fields/ 当它处于活动状态时,我必须使用“thefield()”来获取自定义字段内容,而不是常规的WordPress“get\u post\u meta”,这里有文档记录http://www.advancedcustomfields.com/resources/functions/the_field/

我需要在WordPress popular posts文件中编辑以下代码,以使用_field()函数。WordPress-popular-posts.php中的代码表示:-

                    // POST THUMBNAIL
                if ($instance['thumbnail']['active'] && $this->thumb) {

                    $tbWidth = $instance['thumbnail']['width'];
                    $tbHeight = $instance['thumbnail']['height'];

                    $thumb = "<a href=\"". $permalink ."\" title=\"{$title}\" target=\"".$this->user_ops['tools']['link']['target']."\">";

                    if ( $this->user_ops['tools']['thumbnail']['source'] == "custom_field" ) { // get image from custom field

                        $path = get_post_meta($p->id, $this->user_ops['tools']['thumbnail']['field'], true);

                        if ( $path != "" ) {

                            if ( $this->user_ops['tools']['thumbnail']['resize'] ) {

                                $thumb .= $this->get_img( $p->id, array($tbWidth, $tbHeight), $this->user_ops['tools']['thumbnail']['source'] );

                            } else {
                                $thumb .= "<img src=\"{$path}\" width=\"{$tbWidth}\" height=\"{$tbHeight}\" alt=\"{$title}\" border=\"0\" />";
                            }

                        } else {
                            $thumb .= "<img src=\"". $this->default_thumbnail ."\" alt=\"{$title}\" border=\"0\" width=\"{$tbWidth}\" height=\"{$tbHeight}\" />";
                        }

                    } else { // get image from post / Featured Image
                        $thumb .= $this->get_img( $p->id, array($tbWidth, $tbHeight), $this->user_ops['tools']['thumbnail']['source'] );
                    }

                    //$thumb .= "</a>";
                }

在我的主题文件中,我可以通过以下代码检索图像URL:-

<img src="<?php echo get_field('image_facebook'); ?>" alt="<?php the_title(); ?>" class="postImg" />

请帮我把这个函数放到上面的插件代码中。

使现代化

好的,使用下面的代码,图像URL被获取,但它为所有10个热门帖子获取相同的图像URL。

                    // POST THUMBNAIL
                if ($instance['thumbnail']['active'] && $this->thumb) {
                    $my_image = get_field('image_facebook');
                    $my_title = get_the_title();
                    $tbWidth = $instance['thumbnail']['width'];
                    $tbHeight = $instance['thumbnail']['height'];

                    $thumb = "<a href=\"". $permalink ."\" title=\"{$title}\" target=\"".$this->user_ops['tools']['link']['target']."\">";

                    if ( $this->user_ops['tools']['thumbnail']['source'] == "custom_field" ) { // get image from custom field

                        $path = get_post_meta($p->id, $this->user_ops['tools']['thumbnail']['field'], true);

                        if ( $path != "" ) {

                            if ( $this->user_ops['tools']['thumbnail']['resize'] ) {

                                $thumb .= $this->get_img( $p->id, array($tbWidth, $tbHeight), $this->user_ops['tools']['thumbnail']['source'] );

                            } else {
                                //$thumb .= "<img src=\"{$path}\" width=\"{$tbWidth}\" height=\"{$tbHeight}\" alt=\"{$title}\" border=\"0\" />";
                                $thumb .= "<img src=\"" . $my_image . "\" width=\"{$tbWidth}\" height=\"{$tbHeight}\" alt=\"" . $my_title . "\" border=\"0\" />";
                                }

                        } else {
                            $thumb .= "<img src=\"". $this->default_thumbnail ."\" alt=\"{$title}\" border=\"0\" width=\"{$tbWidth}\" height=\"{$tbHeight}\" />";
                        }

                    } else { // get image from post / Featured Image
                        $thumb .= $this->get_img( $p->id, array($tbWidth, $tbHeight), $this->user_ops['tools']['thumbnail']['source'] );
                    }

                    //$thumb .= "</a>";
                }

共有1个答案

赵正雅
2023-03-14

如果没有用,我会试试这个。请记住,我不明白你的插件是如何与ACF交互的。首先,我要设置变量

$my_image = get_field('image_facebook');
$my_title = get_the_title();

然后,我将用您运行的ACF代码替换美元拇指的每个实例。=,只是为了测试,像这样:

$thumb .= "<img src=\"" . $my_image . "\" alt=\"" . $my_title . "\" class=\"postImg\" />";

 类似资料:
  • 所以我在一个以FoundationPress为主题的wordpress站点上工作,最近我将ACF升级到了Pro版本,允许repeater字段。所以我试着让客户用中继器添加新的社交媒体帐户。 http://imgur.com/ft58spd http://imgur.com/mydpawl 上面您可以看到中继器是如何在后端设置的。 header.php: 没有任何东西输出到HTML中。 如果我遗漏了

  • 完整的新手到PHP,但在拼凑不坏。我已经开始使用WordPress的高级自定义字段,这非常有帮助。 我已经得到了将库字段转换为jQuery滑块的代码(你在后端插入图像,它循环并创建滑块)。然而,我希望它只加载静态图像,如果只有一个图像输入。在伪代码中: 如果字段包含多个图像,则循环使用滑块代码,否则(如果只有一个图像)只需将一个图像包装在img标记中。 当前生成滑块的实时代码: 有什么想法吗?起初

  • 我是WordPress的新手,我们有一个表格,人们可以填写该表格以将帖子提交到我们的网站上。 我们使用高级自定义字段插件来填写我们需要的所有必要信息。我们有一个领域是故事描述。 我想让story_description使用所有摘录过滤器(长度等),并将其保存在wp_posts表中的post_EXCEPT下。 我该如何将自定义长度保存在表中,而另一个保存在定义的摘录中?我对所有的过滤器和动作都不熟悉

  • 我在想是否有人能帮我一下。我似乎无法让这个案例工作(因为我是PHP的一个笨蛋)。 案例:我的wordpress网站有两种“帖子类型”: 网络研讨会 Spreker(以荷兰语发言) 通过高级自定义帖子,我在网络研讨会帖子类型中设置了一个关系字段。这样我就可以选择与那篇文章相关的演讲者了。 我使用elementor并且需要使用elementor的post小部件来通过单个webinar页面模板显示相关的

  • 我正在尝试使用Ajax更新Wordpress中的自定义域(例如,使用表单文本输入,通过单击按钮替换自定义域文本)。我正在使用高级自定义字段插件,并遵循我在这里找到的示例,但这似乎不起作用:https://support.advancedcustomfields.com/forums/topic/use-update_field-with-ajax/ 我所做的是: (1)将html表单添加到我的si

  • 在2019年7月(版本2.20190722)中,添加了更编纂的字段API。 它旨在尽可能地向后兼容。 这意味着,如果您在2019年7月之前创建了自定义字段,则很有可能会继续工作。 在决定是否需要升级自定义字段之前,应通读“危险区域”部分,并对您的字段进行全面测试。 由于在2019年7月之前字段之间缺乏标准化,因此很难涵盖开发人员可能需要进行的所有更改。 本文档尝试涵盖所有可能的更改,但是如果本文档