2013-04-18 52 views
1

我最近增加了一個新的編輯器,我的所有網頁和帖子管理區與WordPress的3.3新功能來做到這一點輸出後的第二WordPress的編輯

add_action('edit_page_form', 'my_second_editor'); 
function my_second_editor() { 
    // get and set $content somehow... 
    wp_editor($content, 'mysecondeditor'); 
} 

我的問題是我怎麼輸出我在進入這是我的網站/頁面上的第二位編輯?我是否需要製作自定義循環?不幸的是Codex不是很有幫助。

感謝

回答

3

你需要get_post_meta(),使用它像:

echo get_post_meta(get_the_id(), 'mysecondeditor'); 

瞭解更多:http://codex.wordpress.org/Function_Reference/get_post_meta

要保存在你的第二個編輯器中輸入的數據,您需要在此代碼您的functions.php文件:

add_action('save_post', 'save_post', 10, 2); 
function save_post($post_id, $post) { 
    if (!current_user_can('edit_post', $post_id)) 
    return $post_id; 

    update_post_meta($post_id, 'mysecondeditor', stripslashes($_POST['mysecondeditor'])); 

} 

所以之後,他是你的第二個編輯器的完整代碼:

wp_editor(get_post_meta(get_the_id(), 'mysecondeditor', true), 'mysecondeditor'); 

true上述確保只返回一個變量,而不是一個數組,所以你可以使用它的時候了。

+0

嗯,這似乎可能會起作用,但我的第二個文本編輯器似乎在我重新加載我的頁面時發生內容丟失,我得到的是單詞數組發佈到頁面而不是我在第二個編輯器中輸入的內容。我需要比jsut更多的代碼嗎?我輸入的添加動作在上面的第二個編輯器工作的eaxample中?我會回答第一個問題,我只需要首先確認alirified – user1155141 2013-04-28 21:41:17

+0

是的,要顯示編輯器中的文本,您需要掛鉤到save_post_data文件中我會更新我的答案 – user2019515 2013-05-15 20:43:08

+0

對不起,但所做的只是放置編輯器在我的網站的前端,這樣全世界都可以看到它。它也仍然沒有任何數據。我在這裏錯過了什麼。我將上面的原始代碼保存在函數中,然後將代碼添加到像你所說的函​​數中。然後添加回聲get_post_meta你改變以上 – user1155141 2013-05-17 04:15:49

0

user2019515I的(4月18日'13 12:06)答案爲我工作,我可以添加文字和畫廊,但是當我顯示這個代碼:

<?php echo get_post_meta(get_the_ID(),'mysecondeditor')['0']; ?> 

我圖庫代碼,而不是圖像,所以:

mytext [gallery ids="102,62"] 

我怎樣才能顯示文本(mytext)和圖像呢?

+0

好的,我可以用下面的代碼解決: <?php echo apply_filters('the_content',get_extended(get_post_meta(get_the_ID(),'mysecondeditor')['0'])['main']); echo get_post_galleries($ post)['1']; ?> 所以我有一個自定義帖子類型的兩個編輯器,我可以單獨顯示第二個編輯器的內容並顯示第二個編輯器庫。 – 2015-02-12 00:02:46