* @param WP_Post $post
*
* @return string
*/
if ( ! function_exists( 'et_divi_truncate_post_use_custom_content' ) ) :
function et_divi_truncate_post_use_custom_content( $custom, $content, $post ) {
// If post doesn't use builder, no need to compute a custom value
if ( ! et_pb_is_pagebuilder_used( $post->ID ) ) {
return false;
}
$cached = get_post_meta( $post->ID, '_et_pb_truncate_post', true );
if ( $cached ) {
$cached_date = get_post_meta( $post->ID, '_et_pb_truncate_post_date', true );
$cached_date = $cached_date ? $cached_date : get_post_field( 'post_modified', $post->ID );
$global_modules = array();
$shortcodes = array();
preg_match_all( '/'. get_shortcode_regex() .'/s', $content, $shortcodes );
if ( is_array( $shortcodes ) && isset( $shortcodes[3] ) ) {
foreach ( $shortcodes[3] as $raw_attributes ) {
$attributes = shortcode_parse_atts( $raw_attributes );
$attributes = is_array( $attributes ) ? $attributes : array();
$global_id = (int) et_()->array_get( $attributes, 'global_module', 0 );
if ( $global_id > 0 ) {
$global_modules[] = $global_id;
}
}
}
foreach ( $global_modules as $module_post_id ) {
// Dates are using the Y-m-d H:i:s format so we can compare them as strings for simplicity.
if ( strcmp( get_post_field( 'post_modified', $module_post_id ), $cached_date ) > 0 ) {
// A global module used in the post has been updated more recently than
// the post's cached excerpt so we need to invalidate the cache.
$cached = '';
break;
}
}
}
if ( $cached ) {
return $cached;
}
$custom = apply_filters( 'the_content', $content );
// Save the result because expensive to compute.
update_post_meta( $post->ID, '_et_pb_truncate_post', $custom );
update_post_meta( $post->ID, '_et_pb_truncate_post_date', date( 'Y-m-d H:i:s' ) );
return $custom;
}
endif;
add_filter( 'et_truncate_post_use_custom_content', 'et_divi_truncate_post_use_custom_content', 10, 3 );
/**
* Caches expensive generation of et_first_image
*
* @since 3.17.3
*
* @param bool $custom
* @param string $content
* @param WP_Post $post
*
* @return string
*/
if ( ! function_exists( 'et_divi_first_image_use_custom_content' ) ) :
function et_divi_first_image_use_custom_content( $custom, $content, $post ) {
// If post doesn't use builder, no need to compute a custom value
if ( ! et_pb_is_pagebuilder_used( $post->ID ) ) {
return false;
}
$cached = get_post_meta( $post->ID, '_et_pb_first_image', true );
if ( $cached ) {
return $cached;
}
RCS Group of Companies is equipped with the resources to provide the technological and personnel needs of every hydrogeology venture.
Water Development Services:
- Project budgeting and cost tracking.
- Field project supervision.
- Office and field engineering and technical support.
- Integrated project management services when RCS is the prime contractor.
- Seismic exploration programs.
- Drilling and completions, well designs and field execution.
- Pump testing.
- Design and execution of de-watering and water source well programs.
- Reservoir mapping and modeling.
- Lithium Brines.
- Large Diameter Reverse Air Flood Drilling specialists.