Viewing File: /home/rtsgrob/ww6/wp-content/plugins/contact-form-7-multilingual/classes/shortcodes.php
<?php
namespace WPML\CF7;
use WPML\FP\Obj;
class Shortcodes implements \IWPML_Frontend_Action {
/**
* @return void
*/
public function add_hooks() {
add_filter( 'shortcode_atts_wpcf7', [ $this, 'translate_shortcode_form_id' ] );
}
/**
* Find the right form and return it in the current language.
*
* @param array $atts Shortcode attributes to be filtered.
*
* @return array
*/
public function translate_shortcode_form_id( $atts ) {
$form = null;
$formIdOrHash = Obj::prop('id', $atts );;
$formTitle = Obj::prop('title', $atts );
if ( $formIdOrHash && function_exists( 'wpcf7_get_contact_form_by_hash' ) ) {
$form = wpcf7_get_contact_form_by_hash( trim( $formIdOrHash ) );
}
if ( ! $form && $formIdOrHash ) {
$form = wpcf7_contact_form( (int) $formIdOrHash );
}
if ( ! $form && $formTitle ) {
$form = wpcf7_get_contact_form_by_title( trim( $atts['title'] ) );
}
if ( $form ) {
$atts['id'] = apply_filters( 'wpml_object_id', $form->id(), Constants::POST_TYPE, true );
$atts['title'] = ''; // Reset the title attribute only if we managed to set the id attribute.
}
return $atts;
}
}
Back to Directory
File Manager