2014-10-04 62 views
1

我是新來的Wordpress,我正在尋找一種方法來添加自定義字段並顯示它們(不帶插件)。 我在網上找到a great example。作者通過將以下函數添加到fuctions.php文件中添加了一些自定義字段。在wordpress中添加自定義文件到作者信息

function modify_contact_methods($profile_fields) { 

    // Add new fields 
    $profile_fields['linkedin'] = 'LinkedIn URL'; 
    $profile_fields['telephone'] = 'Telephone';   
    return $profile_fields; 
} 

add_filter('user_contactmethods', 'modify_contact_methods'); 

我已經能夠TU等領域成功添加到我的用戶登記表聯繫信息部分。我一直在嘗試將自定義字段添加到其他部分,例如作者信息部分(其中Bio是),但沒有成功。 我認爲我必須在add_filter(...)函數中更改值user_contactmethods,但我一直未能找到任何東西。

我甚至不知道這是不是這樣做的correect方式,但它的工作這麼遠

回答

1

如你是新來的wordpress,你不必對filteraction知識。如果你通過filter list,你會發現user_contactmethodshere

正如你在中看到的,作者和用戶過濾器,只有4個過濾器供作者和用戶使用。我們可以不使用它們來實現所需的輸出。

但不知何故,我們可以通過添加下另一場關於用戶作者信息做到這一點。

add_action('show_user_profile', 'extra_user_profile_fields'); 
    add_action('edit_user_profile', 'extra_user_profile_fields'); 

    function extra_user_profile_fields($user) { ?> 
    <h3><?php _e("Author Information", "blank"); ?></h3> 

    <table class="form-table"> 
    <tr> 
    <th><label for="author"><?php _e("Author Information"); ?></label></th> 
    <td> 
    <textarea name="author" id="author" rows="5" cols="10" ><?php echo esc_attr(get_the_author_meta('author', $user->ID)); ?></textarea><br /> 
    <span class="description"><?php _e("Please enter Author's Information."); ?></span> 
    </td> 
    </tr> 
    </table> 
    <?php } 

    add_action('personal_options_update', 'save_extra_user_profile_fields'); 
    add_action('edit_user_profile_update', 'save_extra_user_profile_fields'); 

    function save_extra_user_profile_fields($user_id) { 

    if (!current_user_can('edit_user', $user_id)) { return false; } 

    update_user_meta($user_id, 'author', $_POST['author']); 
    } 

所以用這種方法你可以添加任意數量的字段。

+0

哇,這絕對解決了我的問題。現在是時候獲得一些有關文件員和行動的知識吧! – INElutTabile 2014-10-04 11:38:32

+0

通過練習,您將自動獲得知識。 快樂編碼! – 2014-10-04 11:41:40

相關問題