init( ); } /* * initializing */ function init( ){ global $ps_multi_languages; if ( !isset( $ps_multi_languages ) ) return; //対応する多国語 $this->_items = $ps_multi_languages->multilingual; //国旗画像ディレクトリ $this->flags_dir = $ps_multi_languages->flags_dir; //デフォルトの言語 $this->WPLANGKEY = $ps_multi_languages->WPLANGKEY; //デフォルトの一覧の多国語表示個数 $this->max_count = $ps_multi_languages->max_count; $this->Start( ); } /* *プラグインの機能実行をスタート */ function Start(){ if ( is_admin( ) ): //多国語のメタボックスを生成する add_action ('add_meta_boxes' , array(&$this,'insert_multilingual_custom_field') ); /* edit_post : 投稿記事またはページが更新・編集された際に実行する。これには、コメントが追加・更新された場合(投稿またはページのコメント数が更新される)も含む。 */ add_action('edit_post' , array(&$this,'edit_meta_value'), 10, 2 ); /* save_post : インポート機能の利用、記事・ページ編集フォームの利用、XMLRPCでの投稿、メールでの投稿のうちいずれかの方法で記事・ページが作成・更新された際に実行する。 */ add_action( 'save_post' , array( &$this, 'edit_meta_value'), 10, 2 ); /* publish_post : 投稿記事が公開された際、または公開済みの記事の情報が編集された際に実行する。 */ add_action( 'publish_post' , array( &$this, 'edit_meta_value') ); /* transition_post_status : 記事・ページが公開された際、またはステータスが「公開」に変更された場合に実行する。 */ add_action( 'transition_post_status' , array( &$this, 'edit_meta_value') ); //投稿を新規と編集する場合、JSファイルをCSSファイルを読み込みする add_action( 'admin_print_styles-post.php' , array( &$this, 'add_admin_print_styles' ) ); add_action( 'admin_print_styles-post-new.php' , array( &$this, 'add_admin_print_styles' ) ); //投稿、ページ、カスタム投稿の一覧多国語表示 add_filter( 'manage_posts_columns' , array(&$this,'add_multilingual_posts_columns' ) ); add_filter( 'manage_page_posts_columns' , array(&$this,'add_multilingual_posts_columns' )); add_action( 'manage_posts_custom_column' , array(&$this,'add_multilingual_scompt_custom_column'), 10, 2); add_action( 'manage_page_posts_custom_column' , array(&$this,'add_multilingual_scompt_custom_column'), 10, 2); endif; } /** * ファンクション名:add_multilingual_meta_boxes * 機能概要:各多国語のメターボックスを追加する * 作成:プライム・ストラテジー株式会社 王 濱 * 変更: * @param String $post_type * @param Object $post * @return */ function insert_multilingual_custom_field( $post_type = 'post', $post = NULL ){ add_meta_box('insert_multilingual_custom_field', "Multilingual Settings", array(&$this,'add_multilingual_meta_boxes'), $post_type, 'normal', 'high'); } /** * ファンクション名:add_admin_print_styles * 機能概要:JSとCSSを読み込み * 作成:プライム・ストラテジー株式会社 王 濱 * 変更: * @param * @return */ function add_admin_print_styles( ){ //wp_enqueue_script( 'prefix-js-tinyMCEID' , plugins_url('js/tinyMCEID.js', __FILE__) ); wp_enqueue_script( 'prefix-js-' . strtolower(__CLASS__) , plugins_url('js/edit-post-prefix-js.js', __FILE__) ); wp_enqueue_style( 'prefix-style-' . strtolower(__CLASS__), plugins_url('css/edit-post-prefix-style.css', __FILE__) ); } /** * ファンクション名: * 機能概要:一覧項目のカスタマイズ * 作成:プライム・ストラテジー株式会社 王 濱 * 変更: * @param resource * @param int * @param string * @return */ function add_multilingual_posts_columns( $columns ){ $columns['title'] = $columns['title'] . ' '; foreach ( $this->_items as $key => $val ){ $count = $count + 1 ; if ( $count > $this->max_count ){ break; } $columns['post_title_'.$key] = __('Title').' '; } return $columns; } /** * ファンクション名:add_multilingual_scompt_custom_column * 機能概要:一覧項目のカスタマイズ * 作成:プライム・ストラテジー株式会社 王 濱 * 変更: * @param resource * @param int * @param string * @return */ function add_multilingual_scompt_custom_column( $column_name, $id ){ foreach ( $this->_items as $key => $val ){ if( $column_name == 'post_title_' . $key ) { $multilingual = get_post_meta( $id , 'post_title_' . $key , true ); if ( $multilingual ){ $edit_link = get_edit_post_link( $id ); echo ''.$multilingual.''; } } } } /** * ファンクション名:add_multilingual_meta_boxes * 機能概要:各多国語のメターボックスを追加する * 作成:プライム・ストラテジー株式会社 王 濱 * 変更: * @param Object $post * @return */ function add_multilingual_meta_boxes( $post ){ // $this->add_multilingual_postbox_title( ); foreach ( $this->_items as $key => $val ): //hrのHTMLタグを生成する $this->add_multilingual_hr($key); //TitleのHTMLタグを生成する $this->add_multilingual_title($key,$post); //ContentのHTMLタグを生成する $this->add_multilingual_content($key,$post ); //ExcerptのHTMLタグを生成する $this->add_multilingual_excerpt($key,$post); endforeach; } /** * ファンクション名:add_multilingual_postbox_title * 機能概要:各多国語のメターボックスのタイトル * 作成:プライム・ストラテジー株式会社 王 濱 * 変更: * @param * @return */ function add_multilingual_postbox_title( ){ echo '
Please enter the title.