Title: Multisite (network) support
Last modified: August 30, 2016

---

# Multisite (network) support

 *  [xmmassage](https://wordpress.org/support/users/xmmassage/)
 * (@xmmassage)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/)
 * Hello again 🙂
 * I know multisite support is a long story, but anyway will ask you to think about
   it.
 * Plugin works for multisite except it works for one site only. For the main one.
 * The problem is USER is always the same for all the sites in network and has same
   preferences for all sites.
 * So, you are using the WEBSITE parameter of USER which can be only ONE. That mean
   if I have english website with english page of use A nad german website with 
   german page for same user A then your plugin can use only one of those pages.
 * I don’t see any simple solutions here. The only solution I can propose to you
   is to set multiple WEBSITE urls in to the same field using some kind of delimeter.
   For example “^” symbol is not used in URLs and can separate two URLs in same 
   WEBSITE string.
 * [http://en.xxx.com/person-a/](http://en.xxx.com/person-a/)^http://de.xxx.com/
   person-a/
 * You can then parse this string very fast.
 * There is another problem I see in multisite configuration. I can’t save the scedule
   for the second site. It’s ok for main site, but not for other sites. I can’t 
   help here because I’m not sure where you store this information (in which table?).
   Looks like plugin can’t save scedule settings in to tables of second website.
   They usually have additional prefix like “wp2_, wp3_ etc…”
 * Well… Sorry for asking too much )) but it is very harf to edit schedule for 20
   + people for each site language. So I want to switch to multisite and have setup
   everything except your plugin which I really love and need.
 * Thank you!
 * [https://wordpress.org/plugins/attendance-manager/](https://wordpress.org/plugins/attendance-manager/)

Viewing 11 replies - 1 through 11 (of 11 total)

 *  Thread Starter [xmmassage](https://wordpress.org/support/users/xmmassage/)
 * (@xmmassage)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768193)
 * Oh, I found you store user page as a page ID in attmgr_mypage_id so, you can 
   easily store something like attmgr_mypage_id_2 for second website?
 * I also found that options for cron and others are saved similar for main website
   as well as for second, but I still can not understand why I can’t save schedule
   for second website.
 *  Thread Starter [xmmassage](https://wordpress.org/support/users/xmmassage/)
 * (@xmmassage)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768269)
 * Update:
 * I have FIX schedule savings and point the plugin to use ONE table wp_attmgr_schedule
   for all the sites in network.
 * So, now when I edit schedule for one site it is updated for all sites.
 * The only FIX I have applied is this one:
    [https://wordpress.org/support/topic/multisite-table-prefix-wpdb-prefix-incorrect](https://wordpress.org/support/topic/multisite-table-prefix-wpdb-prefix-incorrect)
 * So, I found all the places where you work with this table:
    $prefix = $wpdb->
   prefix.ATTMGR::TABLEPREFIX; $table = $prefix.’schedule’;
 * AND changed them to:
    $prefix = $wpdb->base_prefix.ATTMGR::TABLEPREFIX;
 * And now it works everywhere with only one table. This is exactly what I need.
 * Edit once = automatically edited for all sites.
 * Please include this in your next version. BTW. it will be nice to have ONE global
   variable with table prefix which you will use in all the places ). To be able
   to edit it just once.
 * NOW I still trying to find the way to attach a user to different posts. I mean
   to German language post for German website and to English post for English website.
 * Thank you.
 *  Thread Starter [xmmassage](https://wordpress.org/support/users/xmmassage/)
 * (@xmmassage)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768272)
 * FOUND elegant solution to tie up one user with multiple posts!
 * So, in general, all you need is to add additional prefix to the record in to 
   the wp_usermeta table.
 * Prefix like:
 * attmgr_mypage_id_wp_
    attmgr_mypage_id_wp_2_
 * To create such prefix I’ve used wp db prefix at the end of string. Like this:
 *     ```
       public static function save_staff_url( $post_id ) {
       		global $wpdb;
       		$post = get_post( $post_id );
       		$staff = ATTMGR_User::parse_sfaff_id( $post->post_content );
       		if ( $staff ) {
       			wp_update_user( array( 'ID'=>$staff->data['ID'], 'user_url'=>get_permalink( $post_id ) ) );
       			update_user_meta( $staff->data['ID'], ATTMGR::PLUGIN_ID.'_mypage_id_'.$wpdb->prefix, $post_id );
       		}
       	}
       ```
   
 * _[Moderator Note: Please post code & markup between backticks or use the code
   button. Your posted code may now have been damaged by the forum’s parser.]_
 * So, I’ve used ‘_mypage_id_’.$wpdb->prefix
 * Now, I have to edit all the places where you work with ‘_mypage_id’ ))) But, 
   it’s ok…
 * Can you please include this solution in to next update. It wouldn’t change anything
   for regular (one site) setup, but will help with multiplesites setup.
 * Thank you!
 *  Thread Starter [xmmassage](https://wordpress.org/support/users/xmmassage/)
 * (@xmmassage)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768273)
 * Works!
 * Both my solutions work )).
 * Now i have for multisite setup:
 * * One common schedule
    * Different pages for same USER
 * Please include both fixes in to next version. Also:
 * Please note that currently your plugin store OPTIONS in different tables for 
   each site in network. This might be a problem. I recommend to move plugin options
   on to NETWORK dashboard page and store plugin options in to one common table (
   wp_options) for all the sites in network.
 * Thank you again for your very helpful plugin!
 *  Thread Starter [xmmassage](https://wordpress.org/support/users/xmmassage/)
 * (@xmmassage)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768275)
 * Ohh… I forgot one more think.
 * In case of multisite (multilanguages) it will be very useful to set different
   names to USERS for different sites.
 * You can’t set additional name in general wp USER but maybe you can add one additional
   attribute to your shortcode?
 * [attmgr_weekly id=”27″ hide=”1″ name=”BRUCE LEE”]
 * and for russian language
 * [attmgr_weekly id=”27″ hide=”1″ name=”БРЮС ЛИ”]
 * So, we can easily change the name as we need. If attribute is empty, then use
   user nickname as usual.
 * Thx )
 *  Plugin Author [tnomi](https://wordpress.org/support/users/tnomi/)
 * (@tnomi)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768310)
 * Your solution is wonderful !
    A person with the same needs in the multisite should
   refer to this topic.
 * * One common schedule
    * Different pages for same USER
 * That seems similar to “Pre-Domain Mode (uses [http://en.yoursite.com](http://en.yoursite.com))”
   of a “qTranslate X” plug-in in the single site which is not a multisite.
 * * There are individual staff each site.
 * I feel the multisite may be suitable in that case.
 * By the way, I don’t hope that “Attendance Manager” is being equipped with everything.
 * I hope that it is customized originally according to the respective needs.
    Just
   like your original solution.
 * But I feel that your idea about the “name” attribute in [attmgr_weekly] is good.
   
   I will think about that.
 * Thank you!
 *  Plugin Author [tnomi](https://wordpress.org/support/users/tnomi/)
 * (@tnomi)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768311)
 * * There are individual staff each site.
 * In that cace, I did the following procedure.
    1. Add a 2nd site.
    2. Copy a table “wp_attmgr_schedule” as “wp_2_attmgr_schedule”.
        SQL: `CREATE TABLE
       wp_2_attmgr_schedule LIKE wp_attmgr_schedule;`
    3. Export the “pages” of main site. (“Tools > Export > pages”)
        * daily * weekly*
       monthly * staff_scheduler * admin_scheduler
    4. Import these “pages” into 2nd site.
    5. Add new user to 2nd site.
    6. Add new post to for that user.
        (Insert a short code [attmgr_weekly id=”xx”]
       to that post.)
    7. Edit the schedule of that user.
 *  Thread Starter [xmmassage](https://wordpress.org/support/users/xmmassage/)
 * (@xmmassage)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768384)
 * Tnomi,
 * Thank you for answering!
 * >>I don’t hope that “Attendance Manager” is being equipped with everything.
 * PLEASE PLEASE PLEASE Add both my fixes to support multisite! It will be almost
   impossible for me to follow your updates if I will need to add this code each
   time. There are too many places.
 * If you will add my simple fixes you will get MULTISITE support without changing
   anything for singlesite version.
 * You can change and expand multisite features in the future, but on this stage,
   simple support is enough.
 * THANK YOU VERY MUCH! Your plugin is one of the most useful on my site!
 *  Plugin Author [tnomi](https://wordpress.org/support/users/tnomi/)
 * (@tnomi)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768397)
 * Okay.
    I would add a filter hook “attmgr_schedule_table_name” in the next version.
   When it is so, you can rewrite that in “functions.php” of the theme you use. 
   For example,
 *     ```
       if ( class_exists( 'ATTMGR' ) ) {
           remove_filter( 'attmgr_schedule_table_name', array( 'ATTMGR_Activation', 'schedule_table' ) );
           add_filter( 'attmgr_schedule_table_name', 'your_schedule_table' );
       }
       function your_schedule_table( $table ) {
           global $wpdb;
           return $wpdb->base_prefix.'attmgr_schedule';
       }
       ```
   
 * And, I would not change a short cord “[attmgr_weekly]”.
    Because you can rewrite
   that freely. For example,
 *     ```
       remove_shortcode( 'attmgr_weekly', array( 'ATTMGR_Shortcode', 'weekly' ) );
       add_shortcode( 'attmgr_weekly', 'your_weekly' );
       function your_weekly( ... ) {
           ...
       }
       ```
   
 * And, I would not also change a function “save_staff_url”.
    Because you can also
   rewrite that freely. For example,
 *     ```
       remove_action( 'publish_post', array( 'ATTMGR_User', 'save_staff_url' ) );
       add_action( 'publish_post', 'your_save_staff_url' );
       function your_save_staff_url( $post_id ){
           ...
       }
       ```
   
 * By the way,
 * > It will be almost impossible for me to follow your updates if I will need to
   > add this code each time. There are too many places.
 * Should not you fork this plugin for your purpose?
    My update would not be always
   able to please you.
 *  Thread Starter [xmmassage](https://wordpress.org/support/users/xmmassage/)
 * (@xmmassage)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768426)
 * Tnomi,
 * >>Should not you fork this plugin for your purpose?
    Adding multisite support
   is not just my purpose. I believe many people will need this.
 * Anyway, you are adding many good features which I don’t want to lose in own fork).
   AND I’m not a developer. I do understand things I have to change in code to cover
   my needs but this is all I can.
 * THANK YOU FOR HOOKS, I will try to use this solution. Hope it will work and I
   can add code in to functions.php
 * Have a good day and thank you for update!
 *  Plugin Author [tnomi](https://wordpress.org/support/users/tnomi/)
 * (@tnomi)
 * [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768430)
 * Thank you, too.

Viewing 11 replies - 1 through 11 (of 11 total)

The topic ‘Multisite (network) support’ is closed to new replies.

 * ![](https://s.w.org/plugins/geopattern-icon/attendance-manager.svg)
 * [Attendance Manager](https://wordpress.org/plugins/attendance-manager/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/attendance-manager/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/attendance-manager/)
 * [Active Topics](https://wordpress.org/support/plugin/attendance-manager/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/attendance-manager/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/attendance-manager/reviews/)

 * 11 replies
 * 2 participants
 * Last reply from: [tnomi](https://wordpress.org/support/users/tnomi/)
 * Last activity: [10 years, 6 months ago](https://wordpress.org/support/topic/multisite-network-support-2/#post-6768430)
 * Status: not resolved