2015-04-02 55 views
1

我寫了一個帶有幾個函數的Wordpress插件。這個插件按預期工作,所有功能都可以工作。現在我需要在用戶更新他的配置文件時調用其中一個插件的功能。更新用戶配置文件時執行插件功能

我在我的插件中嘗試了下面一段代碼,但沒有奏效。

add_action('profile_update', 'myfunction'); 

什麼是使用Wordpress掛鉤的最佳做法?如何更新用戶配置文件時從插件中調用該函數?

這裏我的小插件的strucure:

<?php 
/* 
Plugin Name: myplugin 
*/ 
add_action('admin_menu', 'myplugin'); 

function myplugin() { 
add_options_page('myplugin', 'myplugin', 'manage_options', 'myplugin_id', 'myplugin_options'); 
} 
function myplugin() { 
if (!current_user_can('manage_options')) { 
    wp_die(__('You do not have sufficient permissions to access this page.')); 
} 
?> 
<div class="wrap"> 
<?php echo "<h2>" . 'Galette users sync' . "</h2>"; ?> 

<form name="galette" method="post" action="<?php echo str_replace('%7E', '~', $_SERVER['REQUEST_URI']); ?>"> 
    <input type="submit" name="Submit" value="Mise à jour" /> 
</form> 
<?php 
function function1() { 
    stuff 
} 
function function2() { 
    stuff 
} 
function function3() { 
    stuff 
} 
function function4() { 
    stuff 
} 
if($_SERVER['REQUEST_METHOD']=='POST') 
{ 
     function4(); 
} 
echo '</div>'; 
} 

?> 

,我想打電話給函數2(),當用戶更新配置文件

任何幫助的人?

回答

0

你有太多掛鉤到一個或兩個掛鉤:

//is run when you edit YOUR profile, and save it 
add_action('personal_options_update', 'function2'); 
//is run when you edit ANY OTHER profile and save it 
add_action('edit_user_profile_update', 'function2'); 

瞭解更多關於鉤的位置: http://codex.wordpress.org/Plugin_API/Hooks

+0

我想我必須在我的插件的末尾添加此掛鉤,對不對? – 2015-04-02 09:02:47

+0

任何地方。只要確保該功能存在。 Mostyle我做它add_action() 然後在我添加函數後行() – larsemil 2015-04-02 09:03:17

+0

我測試它,但它仍然不工作... – 2015-04-02 09:21:13