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

如何删除AMP页面中的第一个图像

霍建章
2023-03-14

所以我有适当的代码来删除所有帖子的第一个图像(这是因为我在引入特色图像之前在每个帖子的顶部放了一个图像,一旦创建了特色图像,我就把代码放在适当的位置来删除第一个图像所以我不必回去手动操作)。我试图让它为AMP页面工作,但还没能弄清楚。

这是普通页面的功能。

 function remove_first_image ($content) {
    if (!is_page() && !is_feed() && !is_feed() && !is_home()) {
    $content = preg_replace("/<img[^>]+\>/i", "", $content, 1);
    }   
    return $content;
    }
    add_filter('the_content', 'remove_first_image');

由于这并没有删除AMP页面上的第一个图像,我尝试了这样的东西,其中有一些正确的元素,但不起作用。

add_action( 'pre_amp_render_post', function () {
    add_filter( 'the_content', function( $content ){
         $content = preg_replace("/<img[^>]+\>/i", "", $content, 1);
         return $content;
    }, 3 );
});

关于如何让AMP内容工作,有什么想法吗?

共有1个答案

姚浩歌
2023-03-14

我认为上面列出的代码示例是与Automattic的AMP插件一起使用的https://wordpress.org/plugins/amp/.

您是否使用不同的AMP插件...我看到提到WP-amp忍者。您可能需要检查它们的代码来找到操作和过滤器。这可能不一样...如果没有适当的记录,你就不会肯定他们不会在更新中改变这一点。

你可以试着切换到自动的。或者如果你正在使用wp-amp忍者插件的高级版本,我看到他们在升级中提供了CSS选项。

正如我提到的,我认为您的代码将与Automattic插件一起工作。如果您切换到它并出于兴趣,希望尝试删除带有样式的图像,而不是内容过滤器。。。也就是说,如果这两个图像仍然出现。。。使用amp\u post\u模板\u css操作。使用浏览器的inspect元素查找正确的css类名。(可能是:amp img.wp post image)

function wp_amp_additional_css_styles( $amp_template ) {
?>
  amp-img.wp-post-image {
        display: none;
  }

<?php
}
add_action( 'amp_post_template_css', 'wp_amp_additional_css_styles' );
 类似资料:
  • 我在使用谷歌的API更新我正在工作的网站的amp页面时遇到了问题。该网站是一个基于Wordpress的网站,使用WP Amp生成Amp页面,它将/Amp附加到任何启用的页面。 我读过这里的留档,它似乎应该是一个简单的GET请求,使用这种结构: https://cdn.ampproject.org/update-ping/c/s/www.example.com/example-category/ex

  • 我需要在任何给定的wiki页面中获取第一个图像/主图像。我可以用刮削工具来做这个。但是我用curl来废掉一页。但可能是由于互联网连接速度慢,仅废弃一个wiki页面需要很长时间。除此之外,根据用户的查询,我需要同时显示至少7-8个不同的wiki图像。 所以用旋度来做这个没有意义。我试过wiki api 但我无法给出其他参数来对该列表进行排序。通常,此api返回的第一个图像不是您在页面顶部看到的主图像

  • 所以我计划浏览一下这个网站,这样我就可以得到每个英超球队的阵容数据。有人能帮我怎么做吗?在这个URL下,在英超标题下,我可以看到一系列UI标签中的球队列表。 我还注意到每个队的网址是这样的-https://www.skysports.com/arsenal,在那个页面里,队的链接看起来像-https://www.skysports.com/arsenal-squad. 但非英超球队也是如此。 最初

  • 我想删除Wordpress中第一个图像上的延迟加载,用于每个帖子、页面和主页。 我不使用任何插件的懒惰加载图像,我需要一个默认的懒惰加载的解决方案通过wordpress添加。 我为functions.php找到了这个脚本,但它是为WP Rocket插件找到的,我没有这个插件。 因此,我对其进行了如下修改: 现在,我只需要删除类为“aligncenter size full remove lazy”

  • 我正在为我的Data Structures类编写一个项目,该项目要求我编写一个类来实现INT的链接列表。 为节点使用内部类 包括以下方法 编写一个测试程序,使您能够以任意顺序使用所需的任何数据测试所有方法 我必须创建一个名为“public int deleteFromFront()”的方法。此方法旨在“删除列表前面的节点,并返回其中的int,如果列表为空,则返回null。”下面是我的代码。然而,当

  • 问题内容: 我有表,我想将它做成。我该怎么办? 问题答案: Python清单 list.pop(索引) 删除列表[索引] 这些都将修改您的原始列表。 其他人建议使用切片: 复制清单 可以返回一个子集 另外,如果要执行许多pop(0),则应查看collections.deque 从列表的左端提供更高的性能