@@ -763,41 +763,86 @@ public static function importFromWP2Static(
763763 ): void {
764764 global $ wpdb ;
765765
766- $ wp2static_table_name = $ wpdb ->prefix . 'wp2static_core_options ' ;
766+ if ( $ option_spec ->wp2static_table ) {
767+ $ wp2static_table_name = $ wpdb ->prefix . $ option_spec ->wp2static_table ;
768+ } else {
769+ $ wp2static_table_name = $ wpdb ->prefix . 'wp2static_core_options ' ;
770+ }
767771
768- $ wp2static_option = $ wpdb ->get_row (
769- $ wpdb ->prepare (
770- "SELECT value, blob_value FROM $ wp2static_table_name WHERE name = %s; " ,
771- $ option_spec ->name
772- )
773- );
772+ $ wp2static_name = $ option_spec ->wp2static_name ?? $ option_spec ->name ;
774773
775- if ( ! $ wp2static_option ) {
776- WsLog:: l ( " Option $ option_spec ->name not found in WP2Static options " );
777- return ;
774+ $ blob = false ;
775+ if ( $ option_spec ->type === ' array ' ) {
776+ $ blob = true ;
778777 }
779778
780- $ opt = new OptionData (
781- $ option_spec ,
782- $ wp2static_option ->blob_value ,
783- $ wp2static_option ->value ,
784- );
779+ if ( $ blob ) {
785780
786- WsLog::l (
787- "Imported option $ option_spec ->name from WP2Static " .
788- 'with value: ' . $ opt ->value .
789- ' and blob value: ' . $ opt ->blob_value
790- );
781+ $ wp2static_option = $ wpdb ->get_row (
782+ $ wpdb ->prepare (
783+ "SELECT value, blob_value FROM $ wp2static_table_name WHERE name = %s; " ,
784+ $ wp2static_name
785+ )
786+ );
791787
792- $ table_name = self ::getTableName ();
788+ if ( ! $ wp2static_option ) {
789+ WsLog::l ( "Option $ option_spec ->name not found in WP2Static options " );
790+ return ;
791+ }
793792
794- $ wpdb ->update (
795- $ table_name ,
796- [
797- 'blob_value ' => $ opt ->blob_value ,
798- 'value ' => $ opt ->value ,
799- ],
800- [ 'name ' => $ option_spec ->name ]
801- );
793+ $ opt = new OptionData (
794+ $ option_spec ,
795+ $ wp2static_option ->blob_value ,
796+ $ wp2static_option ->value ,
797+ );
798+
799+ WsLog::l (
800+ "Imported option $ option_spec ->name from WP2Static " .
801+ ' with value: ' . $ opt ->value .
802+ ' and blob value: ' . $ opt ->blob_value
803+ );
804+
805+ $ table_name = self ::getTableName ();
806+
807+ $ wpdb ->update (
808+ $ table_name ,
809+ [
810+ 'blob_value ' => $ opt ->blob_value ,
811+ 'value ' => $ opt ->value ,
812+ ],
813+ [ 'name ' => $ option_spec ->name ]
814+ );
815+ } else {
816+ $ wp2static_option = $ wpdb ->get_row (
817+ $ wpdb ->prepare (
818+ "SELECT value FROM $ wp2static_table_name WHERE name = %s; " ,
819+ $ wp2static_name
820+ )
821+ );
822+
823+ if ( ! $ wp2static_option ) {
824+ WsLog::l ( "Option $ option_spec ->name not found in WP2Static options " );
825+ return ;
826+ }
827+
828+ $ opt = new OptionData (
829+ $ option_spec ,
830+ null ,
831+ $ wp2static_option ->value ,
832+ );
833+
834+ WsLog::l (
835+ "Imported option $ option_spec ->name from WP2Static " .
836+ ' with value: ' . $ opt ->value
837+ );
838+
839+ $ table_name = self ::getTableName ();
840+
841+ $ wpdb ->update (
842+ $ table_name ,
843+ [ 'value ' => $ opt ->value ],
844+ [ 'name ' => $ option_spec ->name ]
845+ );
846+ }
802847 }
803848}
0 commit comments