高级定制字段和Yoast搜索引擎优化关键字分析

时间:2013-10-23 作者:hyperdrive

我的问题是keyword page analysis tool 不读取我的自定义字段,因此我正在尝试找出如何对其运行筛选器。

我在Yoast网站上找到了一篇博文here 其中引用了此问题,并列出了筛选器wpseo_pre_analysis_post_content, 但我不确定如何在球场上运行。

我在上的管理编辑屏幕上找到了一个运行函数的操作ACF website : acf/input/admin_head, 但我不知道如何对已加载的操作运行筛选器。

编辑:

我发现acf插件实际上内置了这个过滤器,但似乎不起作用。

        // set value
        if( !isset($field[\'value\']) )
        {
            $field[\'value\'] = apply_filters(\'acf/load_value\', false, $post_id, $field);
            $field[\'value\'] = apply_filters(\'acf/format_value\', $field[\'value\'], $post_id, $field);

            apply_filters( \'wpseo_pre_analysis_post_content\', $field[\'value\'] );
        }

2 个回复
SO网友:brasofilo

查看过滤器:

$post_content = apply_filters( \'wpseo_pre_analysis_post_content\', $post->post_content, $post );
这将是一个将字段内容添加到正在分析的字符串中的问题。

你必须做get_field() 部分正确,未经测试:

add_filter( \'wpseo_pre_analysis_post_content\', \'filter_yoasts_wpse_119879\', 10, 2 );

function filter_yoasts_wpse_119879( $content, $post )
{
    $fields = get_field( \'name\', $post->ID );
    return $content . $fields;
}
正如kaiser在评论中指出的get_field() 功能不可靠。如果是一个相对简单的字段,那么最好坚持get_post_meta.

相关:Where do I put the code snippets I found here or somewhere else on the web?

SO网友:Andrew

呵呵,@hyperdrive-我们与完全相同的场景和需求进行了斗争,并将我们的解决方案/方法包装在一个插件中:

http://wordpress.org/plugins/ns-seo-custom-fields/

您可以使用编辑界面中的标准自定义字段名或ACF的“字段名”值,并且有一个屏幕截图显示在何处可以找到这些精确值:

http://wordpress.org/plugins/ns-seo-custom-fields/screenshots/

我们刚刚发布了它,它对我们有效,所以请让我们知道它是否也对您有效。您可能可以从插件本身中获取所需内容,或者对其进行修改以满足您的确切需要。。。或者查看pro版本,它提供了更多功能,包括无限制的现场支持。

结束

相关推荐

缺少WordPress Apply_Filters()参数

我正在定制Woocommerce Wordpress网站。在Woocommerce产品类别中(class-wc-product.php) 这个get_price 函数应用筛选器,如下所示:function get_price() { return apply_filters(\'woocommerce_get_price\', $this->price, $this); } 在我的功能中。php我想添加一个过滤器,如下所示:add_filter(\'woocomme

高级定制字段和Yoast搜索引擎优化关键字分析 - 小码农CODE - 行之有效找到问题解决它

高级定制字段和Yoast搜索引擎优化关键字分析

时间:2013-10-23 作者:hyperdrive

我的问题是keyword page analysis tool 不读取我的自定义字段,因此我正在尝试找出如何对其运行筛选器。

我在Yoast网站上找到了一篇博文here 其中引用了此问题,并列出了筛选器wpseo_pre_analysis_post_content, 但我不确定如何在球场上运行。

我在上的管理编辑屏幕上找到了一个运行函数的操作ACF website : acf/input/admin_head, 但我不知道如何对已加载的操作运行筛选器。

编辑:

我发现acf插件实际上内置了这个过滤器,但似乎不起作用。

        // set value
        if( !isset($field[\'value\']) )
        {
            $field[\'value\'] = apply_filters(\'acf/load_value\', false, $post_id, $field);
            $field[\'value\'] = apply_filters(\'acf/format_value\', $field[\'value\'], $post_id, $field);

            apply_filters( \'wpseo_pre_analysis_post_content\', $field[\'value\'] );
        }

2 个回复
SO网友:brasofilo

查看过滤器:

$post_content = apply_filters( \'wpseo_pre_analysis_post_content\', $post->post_content, $post );
这将是一个将字段内容添加到正在分析的字符串中的问题。

你必须做get_field() 部分正确,未经测试:

add_filter( \'wpseo_pre_analysis_post_content\', \'filter_yoasts_wpse_119879\', 10, 2 );

function filter_yoasts_wpse_119879( $content, $post )
{
    $fields = get_field( \'name\', $post->ID );
    return $content . $fields;
}
正如kaiser在评论中指出的get_field() 功能不可靠。如果是一个相对简单的字段,那么最好坚持get_post_meta.

相关:Where do I put the code snippets I found here or somewhere else on the web?

SO网友:Andrew

呵呵,@hyperdrive-我们与完全相同的场景和需求进行了斗争,并将我们的解决方案/方法包装在一个插件中:

http://wordpress.org/plugins/ns-seo-custom-fields/

您可以使用编辑界面中的标准自定义字段名或ACF的“字段名”值,并且有一个屏幕截图显示在何处可以找到这些精确值:

http://wordpress.org/plugins/ns-seo-custom-fields/screenshots/

我们刚刚发布了它,它对我们有效,所以请让我们知道它是否也对您有效。您可能可以从插件本身中获取所需内容,或者对其进行修改以满足您的确切需要。。。或者查看pro版本,它提供了更多功能,包括无限制的现场支持。

相关推荐

apply_filters() function

我用过apply_filters() 从WordPress帖子中检索内容时,如:$content=$query_val->post_content; $content = apply_filters( \'the_content\', $content ); 当我使用apply_filters() 这个apostrophe( \' ) 在我的文本中显示了一些字符。在我移除后apply_filters() 它显示正确。所以请解释清楚!!它在做什么?我已引用此链接Referal_lin