如何在functions.php wordpress中调用php函数

时间:2015-10-13 06:25:38

标签: php wordpress function

我的functions.php中有很多函数,需要直接在functions.php中调用它们。我这样做了,但是当我以这种方式调用函数时,管理面板开始工作得很慢:

function setTumblrShares($tumblrUrl){  
    global $wpdb; 
    $shareTmbArgs = array(
       'posts_per_page' => -1,
       'offset' => 0,
       'order' => 'DESC',
       'orderby'  => 'date',
       'post_type' => 'video', 
       'post_status' => 'publish',
       'suppress_filters' => 0 
   );
   $shareTumblrCountList = get_posts($shareTmbArgs);
   if ($shareTumblrCountList) {
      foreach ($shareTumblrCountList as $shareTumblrCountItem) {
        $tumblrUrl = get_permalink($shareTumblrCountItem->ID); 
        $shareTumbData = getTumblrShares($tumblrUrl);
        $tumblrShares = $shareTumbData["response"]["note_count"]; 
        $table_name = $wpdb->prefix . "posts";
        $wpdb->update( $table_name, array( 'tumblrShareCount' => $tumblrShares),array('ID'=>$shareTumblrCountItem->ID));
      } 
   }
}
function getTumblrShares($tumblrUrl){  
   $jsonForReddit =  json_decode(file_get_contents("http://api.tumblr.com/v2/share/stats?url=".$tumblrUrl),true);
   return $jsonForReddit;
} 
add_action('admin_menu', 'setTumblrShares'); 

2 个答案:

答案 0 :(得分:1)

如果你想在你的functions.php中调用一些函数,请使用相关的钩子或访问actionsfilters并且还考虑检查模板并查找应该使用哪个钩子来调用哪些函数,如果要修改输出使用过滤器,以及是否要执行某些操作使用操作。取消打开您需要的作业使用钩子。

答案 1 :(得分:0)

使用admin_init

add_action('admin_init', 'setTumblrShares');