2017-03-07 51 views
0

WordPress的,沒有人知道如何以編程方式從改變鏈接:變化HREF到的onclick

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

到:

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

這樣在WordPress的可視化編輯器創建的所有環節通過inappbrowser打開在一個科爾多瓦應用程序。

圍繞谷歌搜索後,下面是我能得到的最接近,但仍然無法正常工作時,'%link%'變量不改變實際鏈接網址:

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

任何幫助將不勝感激: )

+0

那豈不是更有意義的做到這一點使用JavaScript?至少「href」在JavaScript被禁用的情況下仍然可用。 –

+0

對不起,我是一個真正的新手在編碼,你能告訴我的JavaScript代碼?我會盡量在我的網站上使用它。 – yanuar

回答

1

做你想要什麼正確的方法是這樣的:

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

非常感謝!問題解決了,呵呵:) – yanuar

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的部分,並給它一個嘗試

+0

但他需要保持的網址,其他的東西需要更換,我張貼正確的方式做到這一點 – TriForce

+0

嗯我看到了,問題是如果他使用添加過濾器所有的鏈接將被取代。如果他在某個div中使用它可能更好! – Soykot

+0

感謝Kisuke的建議,但我確實希望所有鏈接都被替換。我會保持你的解決方案,因爲它也對我有用:) – yanuar