SHARE
TWEET

Dominykas

a guest Feb 15th, 2014 98 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * WPML plugin support: Set titles for custom types / taxonomies as translatable.
  3.  * It adds new keys to a wpml-config.xml file for a custom post type title, metadesc, title-ptarchive and metadesc-ptarchive fields translation.
  4.  * Documentation: http://wpml.org/documentation/support/language-configuration-files/
  5.  *
  6.  * @global $sitepress
  7.  * @param array $config
  8.  * @return array
  9.  */
  10. function wpseo_wpml_config( $config ) {
  11.         global $sitepress;
  12.  
  13.         if ( ( is_array( $config ) && isset( $config['wpml-config']['admin-texts']['key'] ) ) && ( is_array( $config['wpml-config']['admin-texts']['key'] ) && $config['wpml-config']['admin-texts']['key'] !== array() ) ) {
  14.                 $admin_texts = $config['wpml-config']['admin-texts']['key'];
  15.                 foreach ( $admin_texts as $k => $val ) {
  16.                         if ( $val['attr']['name'] === 'wpseo_titles' ) {
  17.                                 $translate_cp = array_keys( $sitepress->get_translatable_documents() );
  18.                                 if ( is_array( $translate_cp ) && $translate_cp !== array() ) {
  19.                                         foreach ( $translate_cp as $post_type ) {
  20.                                                 $admin_texts[$k]['key'][]['attr']['name'] = 'title-'. $post_type . '-wpseo';
  21.                                                 $admin_texts[$k]['key'][]['attr']['name'] = 'metadesc-'. $post_type . '-wpseo';
  22.                                                 $admin_texts[$k]['key'][]['attr']['name'] = 'metakey-'. $post_type . '-wpseo';
  23.                                                 $admin_texts[$k]['key'][]['attr']['name'] = 'title-ptarchive-'. $post_type;
  24.                                                 $admin_texts[$k]['key'][]['attr']['name'] = 'metadesc-ptarchive-'. $post_type;
  25.                                                 $admin_texts[$k]['key'][]['attr']['name'] = 'metakey-ptarchive-'. $post_type;
  26.  
  27.                                                 $translate_tax = $sitepress->get_translatable_taxonomies( false, $post_type );
  28.                                                 if ( is_array( $translate_tax ) && $translate_tax !== array() ) {
  29.                                                         foreach ( $translate_tax as $taxonomy ) {
  30.                                                                 $admin_texts[$k]['key'][]['attr']['name'] = 'title-tax-'. $taxonomy;
  31.                                                                 $admin_texts[$k]['key'][]['attr']['name'] = 'metadesc-tax-'. $taxonomy;
  32.                                                                 $admin_texts[$k]['key'][]['attr']['name'] = 'metakey-tax-'. $taxonomy;
  33.                                                         }
  34.                                                 }
  35.                                         }
  36.                                 }
  37.                                 break;
  38.                         }
  39.                 }
  40.                 $config['wpml-config']['admin-texts']['key'] = $admin_texts;
  41.         }
  42.  
  43.         return $config;
  44. }
  45. add_filter( 'icl_wpml_config_array', 'wpseo_wpml_config' );
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top