如何将复选标记添加到我的站点保存设置挂钩

时间:2015-12-15 作者:Florian

我想在my-sites.php 通过一个钩子,然后按save settings,让它执行一个执行SQL查询的函数。

我已经添加了复选标记,但我现在不知道如何进一步,我已经阅读了表单中的钩子以及除了我输入的内容以外的所有内容my-sites.php 已经在表单中,所以我猜我应该能够使用该表单的提交操作?

//Adds checkmarks to the my-sites.php interface My Websites.
function makeLiableCheckMark($links) {
  ..wp_enqueue\'s....

  global $user_blog; 
  global $wpdb;
  $blog_id = $user_blog->userblog_id;

  $sitemetaRowExists = $wpdb->get_var($wpdb->prepare("SELECT meta_value FROM ".$wpdb->base_prefix."sitemeta WHERE site_id=%d AND meta_key=%s",$blog_id,\'aansprakelijk_voor_facturatie\'));
  if($sitemetaRowExists > 0) {
      echo \'<input type="checkbox" name="liable_id" value="disable" checked> blabla.<br>\';
    }
    else {
      echo \'<input type="checkbox" name="liable_id" value="enable"> blabla\';
    }

1 个回复
SO网友:s_ha_dum

听起来好像修改了页面以提交您的数据。假设该代码正常工作:

  1. my-sites.php loads admin.php

    10  require_once( dirname( __FILE__ ) . \'/admin.php\' );
    
  2. Which fires the load-{pagenow} hook

    330         /**
    331          * Fires before a particular screen is loaded.
    332          *
    333          * The load-* hook fires in a number of contexts. This hook is for core screens.
    334          *
    335          * The dynamic portion of the hook name, `$pagenow`, is a global variable
    336          * referring to the filename of the current page, such as \'admin.php\',
    337          * \'post-new.php\' etc. A complete hook for the latter would be
    338          * \'load-post-new.php\'.
    339          *
    340          * @since 2.1.0
    341          */
    342         do_action( \'load-\' . $pagenow );
    
    这可能是您需要的钩子,但根据您提供的非常通用的信息,很难编写太多代码。

相关推荐

使用Apply_Filters()的要点

当我试图开发一个插件时,我试图看到其他插件也能完成我的插件将要实现的功能,然后我看到开发人员在大多数功能中使用该功能apply_filters() 我不明白为什么。下面是一个示例:public static function myFunction() { return apply_filters( \'du/class/method\' array( \'index\' => \'value\', \'index\' =&g