- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的一个房地产经纪人的 wp 插件快完成了,我在网站上搜索了 404 等,我注意到我的属性(property)详细信息页面被搜索到了,其中所有 45 个页面标题都是:(详细信息 | 站点名称)(页面标题是根据通过查询字符串传递的 ID 动态显示的)
现在我已经修复了我的好 url,url 看起来像这样......
wpsite.com/details/20043/property+for+sale+in+this+area
其中...
这两个都是用于重写 url 的查询字符串值。
'query_vars' => array('propid', 'propname'),
'rules' =>
array( '(.+?)/([^/]+)/([^/]+)/?$' => 'index.php?pagename=$matches[1]&propid=$matches[2]&propname=$matches[3]' )
);
现在,当加载属性详细信息页面时,我正在尝试连接到 wordpress 过滤器wp_title 但这并不像我预期的那样工作..
这是我用来生成标题的代码
function wp_myplugin_property_title()
{
$wp_acquaint_id = get_option("wp_system_id");
$propid = get_query_var('propid');
if(isset($propid)){
$seotitle = wp_myplugin_seo_title($propid);
}else{
$seotitle = "TEST Title";
}
return $seotitle;
}
if( is_page('details') ){
add_filter('wp_title', wp_myplugin_property_title, 100);
}
该函数中使用的函数:wp_myplugin_seo_title($propid) 生成我想使用的实际标题...
function wp_myplugin_seo_title($propid)
{
$wp_acquaint_id = get_option("wp_acquaint_id");
$xml = wp_myplugin_get_property($propid);
foreach($xml->PropertiesDataSet->Properties as $node) {
include('xml_loop.php');
if($bedrooms==0){ }else{ $seo_title.= $bedrooms." bedroom "; }
$seo_title.= wp_myplugin_get_property_type($type_id)." "; //ie:flat
$seo_title.= str_replace("(","",$street);
$seo_title.= " ".$town." | ".get_bloginfo('name');
}
return $seo_title;
}
我发现在过滤器周围放置 if(is_page()) 后,页面标题不会改变,如果我删除 is_page, Prop 详细信息页面标题工作正常但是!!!
在属性列表页面上,页面标题循环遍历该页面上的所有属性并生成大约 1000 个字符长的页面标题..!
我一直在寻找更好的方法来处理这个问题,但任何帮助都会很棒..
干杯
马蒂
ps: 目前正在运行 Yoast 的 wordpress seo!这就是为什么我在 add_filter 中将优先级设置为 100 只是为了看看它是否会覆盖标题..
最佳答案
在 functions.php 中使用 is_page
是行不通的,因为它在 wp 知道它将要呈现的页面之前运行,或者即使它是一个开始的页面。将 is_page() 粘贴到函数中,它应该可以工作。喜欢:
function wp_myplugin_property_title()
{
if( is_page('details') ){
$wp_acquaint_id = get_option("wp_system_id");
$propid = get_query_var('propid');
if(isset($propid)){
$seotitle = wp_myplugin_seo_title($propid);
}else{
$seotitle = "TEST Title";
}
return $seotitle;
}
}
add_filter('wp_title', wp_myplugin_property_title, 100);
关于php - 从我的 Wordpress 插件中更改 wp_title,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7878187/
我是 WordPress 新手,刚刚安装了版本 3.3.1。 我对这个问题进行了一些谷歌搜索,找到了一些答案,但它们与 2.7 版本相关,并且已有 2-3 年历史。 基本上,wp_title 函数在每
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visi
我创建了一个 WP 插件,它使用查询字符串根据访问者的选择提取页面数据。显然,这会“模拟”其他页面,但页面标题不会从 WP Admin 中设置的标题更改。 我一直在尝试连接到 wp_title 以动态
我的一个房地产经纪人的 wp 插件快完成了,我在网站上搜索了 404 等,我注意到我的属性(property)详细信息页面被搜索到了,其中所有 45 个页面标题都是:(详细信息 | 站点名称)(页面标
当我们使用 wp_title();功能它会自动显示博客名称和分隔符。我想知道是否有任何方法可以通过使用 wordpress 过滤器 Hook 删除博客名称并仅显示标题? 这是我的代码 public f
我正在尝试将详细信息页面的标题更改为汽车的名称。我制作了一个插件,用汽车信息填充详细信息页面。但现在我无法让 add_filter('wp_title') 在我的插件中工作。 这是我尝试过的代码: f
我刚刚在我的主题 functions.php 文件中添加了以下过滤器: function change_the_title() { return 'My modified title'; }
我是一名优秀的程序员,十分优秀!