2013-06-01 97 views
1

我只是試圖在wp admin post editor中保留我的<u>標籤和<b>標籤。 但是,當從可視視圖切換到文本/ html視圖時,它們將被更改爲<span style="text-decoration: underline;"></span>,這很煩人,並且在我的情況下跨度會有問題。允許在tinymce編輯器中使用html 5標籤編輯wordpress,當切換到編輯器中的可視標籤並返回

什麼是最好的方式去做這件事,我已經嘗試了一些插件,這不是幫助和添加和擴展有效元素...但尚未成功!

如果你們中的一些天才能夠指引我朝着正確的方向,那將會非常有幫助。

我也有一個不同的問題;

有沒有一種簡單的方法來添加一個樣式按鈕,文本編輯器,將改變形式的方向從LTR和RTL編輯的文本視圖, 我很容易地通過在改變CSS這樣做開發人員工具或螢火蟲!但我正在尋求內置的東西!

回答

1

您只需禁用inline_styles選項(這是在已經被包含WordPress的TinyMCE的版本默認開啓):

add_filter('tiny_mce_before_init', function ($options) 
{ 
    $options['inline_styles'] = false; 

    return $options; 
}); 

雖然這工作,我強烈建議反對。 This use of the u element has been deprecated in HTML5,在這種情況下被認爲是非語義的。

如果你可以解釋你爲什麼試圖這樣做,也許我們可以想出一個更好的解決方案。

P.S.關於這個over at the TinyMCE forums有一個很好的討論。

+0

我認爲它是語義的,如果不是,我可以使用b標籤來代替,但跨度會導致麻煩,因爲我有函數計算p文本而不是跨文本,如果將其添加到functions.php中致命錯誤!!!!!!!!!!!!!!!!!那它屬於哪裏? – webestdesigns

+0

@webestdesigns - 如果您使用的是5.3以下的PHP,則必須使用命名函數。 –

+0

哎呀,感謝似乎現在工作正常,但有什麼缺點是要考慮禁用這個? – webestdesigns

0

你可以簡單的init有以下

// Override internal formats 
    formats: { 
     bold : {inline : 'b' }, 
     italic : {inline : 'i' }, 
     underline : {inline : 'u'} 
    }, 

然後TinyMCE的將把粗體,斜體下劃線爲B,U和i-標記編輯器。

+0

在什麼功能或過濾器我添加? – webestdesigns

+0

這需要放在所有配置參數列表中的tinymce init函數中 – Thariama

0

我對這一切都比較陌生,我無法弄清楚如何做到這一點,這裏是代碼。從核心類-wp-editor.php文件中拉出它。那就是:

function my_tiny_mce_tweaks($first_init) { 
    $first_init['formats'] = '{' . 
     'alignleft: [' . 
      '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"left"}},' . 
      '{selector: "img,table,dl.wp-caption", classes: "alignleft"}' . 
     '],' . 
     'aligncenter: [' . 
      '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"center"}},' . 
      '{selector: "img,table,dl.wp-caption", classes: "aligncenter"}' . 
     '],' . 
     'alignright: [' . 
      '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"right"}},' . 
      '{selector: "img,table,dl.wp-caption", classes: "alignright"}' . 
     '],' . 
     'strikethrough: {inline: "del"},' . 
     'underline: {inline: "u"}' . 
    '}'; 

    return $first_init; 
} 
add_filter('tiny_mce_before_init', 'my_tiny_mce_tweaks'); 

請注意:這只是改變下劃線按鈕的行爲,如果你要粗體,斜體爲bi標籤,添加@ Thariama對代碼註釋。