从函数中删除回声 - WordPress

时间:2017-02-13 22:41:28

标签: php wordpress

我正在努力完成一项艰巨的任务。任务是使用可用的WP挂钩从Yoast SEO文件中删除func makeRequestcompletion(completion: @escaping (_ response:Data, _ error:NSError)->Void) { let urlString = URL(string: "http://someUrl.com") if let url = urlString { let task = URLSession.shared.dataTask(with: url, completionHandler: { (data, urlRequestResponse, error) in completion(data, error) // <-- here is I'm getting the error }) task.resume() } }

类frontend.php

echo

有没有办法覆盖此功能并使用可用的WP挂钩删除public function head() { global $wp_query; $old_wp_query = null; if ( ! $wp_query->is_main_query() ) { $old_wp_query = $wp_query; wp_reset_query(); } /** * Action: 'wpseo_head' - Allow other plugins to output inside the Yoast SEO section of the head section. */ do_action( 'wpseo_head' ); echo '<!-- / ', $this->head_product_name(), ". -->\n\n"; // <-- remove this if ( ! empty( $old_wp_query ) ) { $GLOBALS['wp_query'] = $old_wp_query; unset( $old_wp_query ); } return; } ?或者有更好的方法吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

is a post at wordpress.stackexchange表示您可以使用挂钩get_headerwp_head来输出缓冲区来过滤掉:

add_action('get_header', 'ad_ob_start');
add_action('wp_head', 'ad_ob_end_flush', 100);
function ad_ob_start() {
  ob_start('ad_filter_wp_head_output');
}
function ad_ob_end_flush() {
  ob_end_flush();
}
function ad_filter_wp_head_output($output) {
  if (defined('WPSEO_VERSION')) {
    $output = str_ireplace('<!-- / Yoast WordPress SEO plugin. -->', '', $output);
  }
  return $output;
}

预计您的$this->head_product_name()/ Yoast WordPress SEO plugin.,因此您可能需要更改...或者如果您希望将其删除“任何”,您可以将替换更改为以下内容:

    $output = preg_replace('/<!-- .* -->/Us', '', $output);

但是这将删除所有注释,并且它将比字符串替换慢。