* @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;
}
Project Optimization & Equipment Solutions
Take Advantage of Our Experience
RCS and its principles have worked around the world for 25 years evaluating projects and providing optimization solutions. We ensure the economic viability of your project by sending industry specialists to first evaluate your requirements. We then provide unique solutions either through training, the addition of highly specialized personnel, and/or customized design of purpose-built equipment to guarantee completion and optimization of your project.
RCS and its team can evaluate your project and provide the following services to support your project:
- Budgeting
- Purpose-built, designed and manufactured equipment suited specifically to your project
- Downhole design & engineered drilling, and completions solutions
- Technical personnel solutions: experts to fill operational gaps or provide onsite training in specialized fields of operations
Whether you are analyzing the feasibility of a new project or require optimization of an existing project, count on RCS to provide state of the art customized personnel & equipment solutions.