museとwordpress - PHPプロ!Q&A掲示板

4853

  • 0P

museとwordpress

質問日時 / 2017年8月31日 12:00    回答数 / 0件

Questioner:  tanoshika  このエントリーをはてなブックマークに追加 

キーワード / muse    musecc    wordpress   

『wordpress』のテーマを『musecc』で編集をしようとして『muse to wordpress』使い編集し
新しく作ったものに更新をしようとした際に『wordpress』の『mtw-themes』というフォルダ内の『XD』とというフォルダの中身を削除し新しく作成したデータを入れるという作業を行いました。
そして実際にサイトを開いてみると表示がおかしくなり『wordpress』の管理者画面にINしようとアドレスに『wp-admin』と『wp-login.php』と入力してログインを試みるも下記のエラーが表示されました。

XD/single-custom.html
Fatal error: Call to a member function getElementsByTagName() on null in wordpressのデータ格納アドレス/wp-content/themes/muse-to-wordpress/mtw-lib/functions/sync-page.php on line 81

上記のようなエラーが出るためログインできず

上記とは別途の方法でログインすることはできたので試しにテーマを変えてみたところ正常に表示されるようにはなりましたが、再度テーマを『muse to wordpress』を利用したら同様の症状になり、『muse to wordpress』を再インストしても状況が改善せず困っております

エラー文てきに『sync-page.php』の81行目でなにかしらの問題がでているかと思いますがPHPの事がわからずなにが問題なのかもよくわからない状況です
わかる方がいたらご教授いただけないでしょうか?

『sync-page.php』の情報を下記に記載しておきます。

  1. <?php
  2.  
  3. function mtw_sync_muse_page()
  4. {
  5.   global $muse_projects;
  6.   global $mtw_option;
  7.   if( !$mtw_option )
  8.   {
  9.     $mtw_option = get_option( 'mtw_option' );
  10.   }
  11.  
  12.   $preg_excludes = array(
  13.     "[$]",
  14.     "archive-",
  15.     "single",
  16.     "singular",
  17.     "page",
  18.     "category",
  19.     "tag",
  20.     "taxonomy",
  21.     "author",
  22.     "date",
  23.     "search",
  24.     "404",
  25.     "attachment",
  26.     "embed",
  27.     "item",
  28.     "term",
  29.     "fancy"
  30.     );
  31.  
  32.   $preg_excludes = apply_filters( "mtw_exclude_from_sync_page"$preg_excludes );
  33.  
  34.   if( !is_admin() || ( is_admin() && !isset( $mtw_option['mtw_auto_page'] ) ) ) 
  35.   {
  36.     return;
  37.   }
  38.  
  39.   /* 
  40.   create or update pages
  41.   */
  42.   $new_pages = array();
  43.   $update_pages = array();
  44.   $archives = array();
  45.   $update_links = false;
  46.  
  47.   $mtw_templates_mt = get_option( "mtw_templates_mt"array() );
  48.   $mtw_templates_mt_update = array();
  49.  
  50.   foreach ( array_keys( $muse_projects ) as $project_name ) 
  51.   {
  52.     
  53.     $xml_file = TTR_MW_TEMPLATES_PATH . $project_name . '/' . 'muse_manifest.xml' ;
  54.  
  55.     if ( file_exists( $xml_file ) ) 
  56.     {
  57.       $xml = simplexml_load_file( $xml_file );
  58.       $already_created = array();
  59.       foreach ( $xml->file as $value ) 
  60.       {
  61.         $page = array();
  62.         $page['project'] = $project_name;
  63.         $page['file'] = (string)$value->attributes()->name;
  64.         $page['template'] = $page['project'] . '/' . $page['file'];
  65.         $page['mt'] = (string)$value->attributes()->mt;
  66.  
  67.         if( $mtw_templates_mt[$page['template']] )
  68.         {
  69.           $old_mt = $mtw_templates_mt[ $page['template'] ];
  70.         }
  71.         else
  72.         {
  73.           $old_mt = 0;
  74.         }
  75.         $mtw_templates_mt_update[ $page['template'] ] = $page['mt'];
  76.  
  77.  
  78.         $mtw_page = new MusePage();
  79.         $mtw_page->init( $page['template'] , false );
  80.  
  81.         $page['title'] = $mtw_page->DOMDocument->getElementsByTagName('title')->item(0)->nodeValue;
  82.  
  83.         if( $page['mt'] != $old_mt )
  84.         {
  85.           do_action( "DOMDocument_change"$mtw_page );
  86.         }
  87.         
  88.         //check hierarchy
  89.         $exclude = false;
  90.         foreach ( $preg_excludes as $value ) 
  91.         {
  92.           preg_match("#^".$value."#"$page['file']$matches);
  93.           if ( $matches ) 
  94.           {
  95.             if( $matches[0] == "archive-" )
  96.             {
  97.  
  98.               $archives[] = $page;
  99.             }
  100.             $exclude = true;
  101.           }
  102.         }
  103.         if ( $exclude ) 
  104.         {
  105.           continue//check next loop
  106.         }//end check hierarchy
  107.  
  108.         $wp_page = array(
  109.           'post_title'=> $page['title'],
  110.           'post_name'=> sanitize_title( $page['title'] ),
  111.           'post_content'=>"",
  112.           'post_type'=>'page',
  113.           'post_status'=>"publish",
  114.           'page_template'=> $page['template']
  115.           );
  116.  
  117.         $isset_page = ttr_get_page_by_template( $page['template'] );
  118.  
  119.         
  120.         if ( !$isset_page && !in_array($page['template']$already_created) )
  121.         {
  122.           $already_created[] = $page['template'];
  123.           $page_id = wp_insert_post( $wp_page$error_insert );
  124.           if( $page_id != 0 )
  125.           {
  126.             $new_pages[] = $page;
  127.             update_post_meta( $page_id'muse_mt'$page['mt'] );
  128.             update_post_meta( $page_id'mtw_auto_created'true );
  129.             $update_links = true;
  130.           }
  131.           
  132.         }
  133.         else
  134.         {
  135.           if( $page['mt'] != $old_mt )
  136.           {
  137.             unset( $wp_page['post_content'] );
  138.             $wp_page['ID'] = $isset_page[0]['ID'];            
  139.             wp_update_post( $wp_page$wp_error );
  140.             //update link
  141.             update_post_meta( $isset_page[0]['ID']'muse_mt'$page['mt'] );
  142.             $update_links = true;        
  143.           }
  144.         }
  145.  
  146.  
  147.       }  
  148.     }
  149.   }
  150.  
  151.   update_option( 'mtw_templates_mt'$mtw_templates_mt_update );
  152.  
  153.   /*
  154.   Default home
  155.   */
  156.   $home = ttr_get_page_by_template( $mtw_option['mtw_default_project'] . '/' . 'index.html' )[0];
  157.   if ( $home )
  158.   {
  159.     update_option( 'page_on_front'$home['ID'] );
  160.     update_option( 'show_on_front''page' );
  161.   }
  162.  
  163.   $blog = ttr_get_page_by_template( $mtw_option['mtw_default_project'] . '/' . 'archive.html' )[0];
  164.  
  165.   if ( $blog )
  166.   {
  167.     update_option( 'page_for_posts'$blog['ID'] );
  168.   }
  169.   elseif ($home) 
  170.   {
  171.     update_option( 'page_for_posts'$home['ID'] );
  172.     update_option( 'show_on_front''post' );
  173.   }
  174.   
  175.  
  176.   /* 
  177.   Declare archive
  178.   */
  179.  
  180.   $update_archives = false;
  181.   foreach ($archives as $key => $archive ) 
  182.   {
  183.     preg_match("#archive-(.*).html#"$archive['file']$matches);
  184.     if ( $matches && !empty( $archives[$key]['title'] ) )  
  185.     {
  186.       $archives[$key]['post_type'] = $matches[1]
  187.       $update_archives = true;
  188.     }
  189.   }
  190.  
  191.   if( $archives != get_option( "mtw_archives_auto"array() ) )
  192.   {
  193.     update_option( "mtw_archives_auto"$archives );
  194.   }
  195.  
  196.   $args_delete_pages = array(
  197.     'post_type' => 'page',
  198.     'posts_per_page' => -1,
  199.     'meta_key' => 'mtw_auto_created',
  200.     'meta_value' => true,
  201.     );
  202.  
  203.   $query_delete_pages = new WP_Query($args_delete_pages);
  204.  
  205.   foreach ($query_delete_pages->posts as $key => $page) 
  206.   {
  207.     if( !file_exists( TTR_MW_TEMPLATES_PATH . get_post_meta( $page->ID'_wp_page_template'true ) ) )
  208.     {
  209.       wp_delete_post(  $page->ID , true );
  210.     }
  211.   }
  212.  
  213.   if( $update_links == true && !isset( $_GET['update_all_logic_links'] ) )
  214.   {
  215.     wp_redirect( admin_url() . "admin.php?page=muse-to-wordpress-setting&update_all_logic_links=1" );
  216.     exit();
  217.   }
  218.   elseif( isset( $_GET['update_all_logic_links'] ) && $_SERVER['HTTP_REFERER'] )
  219.   {
  220.     /*wp_redirect( $_SERVER['HTTP_REFERER'] );
  221.     exit();*/
  222.   }
  223. }
  224.  
  225.  
  226. add_action( 'admin_init''mtw_sync_muse_page'15);
  227.  
  228. ?>

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



この質問にはまだ意見が寄せられていません。

<<質問一覧へ



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)