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 );
add_action('edit_attachment' , 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 );
endforeach;
}
/**
* ファンクション名:add_multilingual_postbox_title
* 機能概要:各多国語のメターボックスのタイトル
* 作成:プライム・ストラテジー株式会社 王 濱
* 変更:
* @param
* @return
*/
function add_multilingual_postbox_title( ){
echo '
Please enter the title.