这更多的是一个概念上的问题,但它具有实际的后果。
在浏览各种SEO插件时,我发现没有一个PHP标记应该嵌入到实际的HTML页面中并回显元数据。那么它是如何工作的呢?
简单地将其保存到数据库似乎还不够。插件将SEO数据“注入”到页面的机制是什么?如果我在页面中有自己的meta标记,它会覆盖插件吗?
发布于 2013-01-05 18:17:43
这些机制通常是来自wordpress Plugin API的FILTERS和ACTIONS钩子。
这并不是特定于SEO插件,而是几乎所有改变实际内容的插件。
简单地说:
操作挂钩
操作钩子被设计为当WordPress核心本身,一些插件或主题给你一个特殊的“断点”来插入你的代码,以便执行一些操作,或者在某个操作被触发时改变一些东西。
筛选器挂钩:
过滤器钩子非常类似于操作钩子,但它们所做的是接收一个值,并可能返回该值的修改版本。
更新I
看这个简单的例子(放在你的主题的function.php中
add_filter( 'the_content', 'my_the_content_filter' );
function my_the_content_filter(){
echo ':::::: THIS CONTENT WILL BE ADDED TO ANY POST :::::';
}或者这样:
add_filter( 'the_title', 'my_the_title_filter' );
function my_the_title_filter(){
echo ':::::: THIS CONTENT WILL BE ADDED TO ANY TITLE :::::';
}更新II
然而,如果你的问题实际上是关于SEO是如何工作的,而不是插件本身: SEO是一个很大的主题,但简单地说,它是关于元标签,标题,描述,链接,关系等等。这就是SEO插件正在改变的。
他们改变了一些事情,比如-
meta tags by post
。。详细说明:但它们都使用了上面提到的actions和filters钩子机制。您在代码中看不到它的事实是,您不知道要查找什么。
尝试在插件激活之前和之后保存页面源代码,然后对两者进行比较。你会看到不同之处..。
https://stackoverflow.com/questions/14170764
复制相似问题