ID) $var=$post;
else $var=get_queried_object();
/** Set custom vars **/
$post_id=$post->ID;
if($post_id) $permalink=get_permalink($post_id);
$post_title=$var->name . $var->post_title;
$name=isset(get_queried_object()->name) ? get_queried_object()->name : NULL;
if ($var->term_id) $description=do_shortcode(wpautop($var->description)); else {
if (isset($var->description)) $var->description=NULL; /// to work only with terms descriptions
}
if(!is_single() && !$content) $content=$var->post_content; // if it is an elementor format it would not work... please research a little bit | nu merge sa se cheme elementor de id cand este in ea...
$post_excerpt = get_the_excerpt() ? get_the_excerpt() : ecs_get_my_excerpt($content);
// add your own custom vars
$custom_vars=[];
$custom_vars['_parent_settings']=$parent_settings;
$custom_vars=apply_filters( 'ecs_vars', $custom_vars );
foreach($custom_vars as $key=>$value){
$$key=$value;
}
/** end seting custom vars **/
// replacing the keystrings from the template with the actual values. (ie for $content you have {content})
preg_match_all('~\{\{(.*?)\}\}~si',$t,$matches);//get all the placeholders to replace them with values from.
if ( isset($matches[1])) {
$value="";
foreach ($matches[1] as $key) {
$value=isset($$key) ? $$key : $var->$key; //echo "
".$key." "; print_r($var->$key);
if ($value=="") { //echo "
".$key." "; print_r($custom_field);
//Daca nu a gasit nici o proprietate a obeictului cauta custom field
if ($post->ID) {
$custom_field=get_post_meta( $post->ID, $key, true); //echo "
..".$key." :"; print_r($custom_field);
}
$value=$custom_field ? $custom_field : "";//pune custom field sau sa stearga keya daca nu are valoare
if ($value=="" && function_exists("wc_get_product_terms")) $value = array_shift( wc_get_product_terms( $post->ID, $key, array( 'fields' => 'names' ) ) ); // iau custom product attribute
if ($value=="" && function_exists('get_field') && $var->term_id) $value = get_field($key, $var->taxonomy.'_'.$var->term_id);// iau custom field de la taxonomie
if ($value=="") $value=$wp_query->query_vars[$key]; //get query_vars
}
$t = str_replace('{{'.$key.'}}',$value,$t);
}
}
return $t;
}
add_filter( 'ecs_dynamic_filter', 'ecs_parse_content', 10, 4 );
if (!function_exists("parse_content")) {
function parse_content($t,$post=NULL,$content=""){
return ecs_parse_content($t,$post,$content);
}
}
function ecs_get_my_excerpt($text){
$raw_excerpt='';
$text = strip_shortcodes( $text );
$text = str_replace(']]>', ']]>', $text);
/* Remove unwanted JS code */
$text = preg_replace('@@si', '', $text);
/* Strip HTML tags, but allow certain tags */
$text = strip_tags($text);
$excerpt_length = 55;
$excerpt_more = '[...]';
$words = preg_split("/[\n\r\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
if ( count($words) > $excerpt_length ) {
array_pop($words);
$text = implode(' ', $words);
$text = $text . $excerpt_more;
} else {
$text = implode(' ', $words);
}
return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);
}