将href更改为onclick

时间:2017-03-07 15:07:30

标签: php wordpress

在wordpress上,有没有人知道如何以编程方式更改链接:

<a href="some_url">click</a>

为:

<a onclick="window.open('some_url','_blank', 'location=no')">click</a>

以便在wordpress可视化编辑器中创建的所有链接都可以通过cordova应用程序中的inappbrowser打开。

在谷歌搜索后,下面是我可以得到的最接近的,但仍然不起作用,'%link%'变量不会更改为实际的链接网址:

add_filter('the_content', 'changeToOnclick');
function changeToOnclick($content) {
    return preg_replace('/<a [^>]*>/', "<a onclick=\"window.open('%link%', '_blank', 'location=no')\">", $content);
}

任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:1)

正确完成您想要的方法是:

add_filter('the_content', 'changeToOnclick');
function changeToOnclick($content) {     
     return preg_replace('/<a href="(.+?)">/', '<a onclick="window.open(\'$1\', \'_blank\', \'location=no\');">',$content);
}

答案 1 :(得分:0)

使用wp过滤器进行搜索和替换,你可以这样做:

function change_submenu_class($menu) {
  $menu = preg_replace('/ class="sub-menu"/','/ class="dropdown" /',$menu);
  return $menu;
    }
    add_filter('wp_nav_menu','change_submenu_class');

所以只需用这个替换javascript部分并尝试一下