我们已经购买了一个wordpress主题(Zerif Pro),到目前为止我还没有给它留下深刻的印象 . 我们的团队需要添加相当多的hackery来使网站正常运行,因为主题是脆弱的,硬编码设置应该是可配置的并且滥用Wordpress的一些功能(理想情况下我们会抛出这个主题并抵制未来主题的Themeisle但是我们现在已经对网站走得太远了) .
它滥用的一个问题是静态首页 . 这个主题确实构建了一个静态的首页,但是在“最新帖子”页面之上这样做,而不是像Wordpress所期望的那样正确地进行 . 这意味着当我们在Wordpress设置中选择“首页显示静态页面”选项时,它会破坏主题 . 出于这个原因,我们保持主页不变,并创建了一个虚拟页面来代替最新的帖子 .
然而,现在的问题是主页虽然是一个封面,但仍然以某种方式认为它是一个博客页面,这导致了一些其他问题(如“分享这个帖子”链接出现在它上面,我们隐藏了css)以及最近不正确的OpenGraph信息,这就是这个问题的内容 .
填充到封面页面中的元数据(实际上是由主题错误地设置为封面页面的最新帖子页面)与我们最新帖子的元数据相匹配 . 我'm assuming it'由 wp_head()
生成,但找不到这个元数据的来源(主题似乎没有覆盖 wp_head()
,我们没有使用任何会插入 og
元数据的SEO插件) . 在这一点上,这是我正在考虑的解决方案:
-
覆盖wp_head()以排除这些数据(我不熟悉这样做的逻辑)
-
让WP平台以某种方式知道主页不是博客文章(这样可以防止从最新博客帖子中提取不相关的OpenGraph数据,再次我不知道该怎么做)
-
调整主题,将其"static"内容注入不同的页面而不是默认的最新帖子页面,我们可以通过插件控制元数据(再次,不知道这个逻辑在哪里或者这个主题是否合作)
-
查找填充OpenGraph元数据的位置并覆盖它
有人可以建议如何解决问题(如果你有一个比我上面提到的4更好的解决方案或任何一个4的任何指导,我会很感激) . 如果有帮助,这里是所有当前安装的插件:
-
联系表格到电子邮件
-
Easy Twitter Feed Widget
-
来自网址的特色图片
-
适用于WP的Google Analytics信息中心
-
页面中的帖子
-
SendGrid
-
简单自定义CSS
-
Supsystic的社交分享按钮
-
TC自定义JavaScript
-
Typecase
-
Widget Wrangler
-
WP客户端徽标轮播
-
WPide
1 回答
这个答案不会得到帮助,他的评论解释了如何获取
wp_head
的内容,这是我之前完全无能为力的 . 这些步骤可用于从wp_head
中删除任何不需要的逻辑,而不仅仅是困扰我的og
逻辑 . 以下是我为解决此问题所做的工作:重新加载页面以查看包含各种
wp_head
项目的哈希的巨型转储,这些项目显示为键/值对,其中键是名称,值是具有更多数据的数组:[wp_oembed_add_discovery_links] => Array
收集所有密钥并按照以下格式将每个条目插入functions.php:
remove_action('wp_head', 'wp_oembed_add_discovery_links')
,我总共有大约20个条目,我也从步骤1中删除了该函数 .重新加载页面并观察到
og
元数据消失了,所以<head>
元素中还有很多其他内容 . 为了快速缩小到违规元素,我使用了二分搜索,删除了一半的元素并查看它是否有效果 . 在4次迭代中,我找到了罪魁祸首:fifu_add_social_tags
在functions.php中保留
remove_action('wp_head', 'fifu_add_social_tags');
逻辑以防止og
标记呈现,删除所有其他行 .