Commit inicial - WordPress Análisis de Precios Unitarios

- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-11-03 21:04:30 -06:00
commit a22573bf0b
24068 changed files with 4993111 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-theme
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
global $post;
$author = apply_filters( 'tcb_post_author', ( empty( $post ) ? null : $post->post_author ) );
$author_description = get_the_author_meta( 'description', $author );
if ( empty( $author_description ) ) {
echo TCB_Editor()->is_inner_frame() || TCB_Utils::is_rest() ? esc_html__( 'No Author Description', 'thrive-cb' ) : '';
} else {
echo $author_description; //phpcs:ignore
}

View File

@@ -0,0 +1,21 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-visual-editor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
global $post;
?>
<div class="thrv_wrapper tve_image_caption tcb-post-author-picture tcb-dynamic-field-source" data-css="<?php echo empty( $data['css'] ) ? '' : esc_attr( $data['css'] ) ?>">
<span class="tve_image_frame">
<a href="<?php echo empty( $post ) ? '' : esc_url( get_author_posts_url( $post->post_author ) ); ?>" rel="nofollow" class="tve-dynamic-link" dynamic-postlink="tcb_post_author_link">
<img class="tve_image" width="240" data-d-f="author" alt="Author Image" src="<?php echo esc_url( TCB_Post_List_Author_Image::author_avatar() ); ?>" loading="lazy">
</a>
</span>
</div>

View File

@@ -0,0 +1,38 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-theme
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
global $post;
$author = apply_filters( 'tcb_post_author', ( empty( $post ) ? null : $post->post_author ) );
$author_name = get_the_author_meta( 'display_name', $author );
if ( empty( $author ) ) {
echo TCB_Editor()->is_inner_frame() || TCB_Utils::is_rest() ? esc_html__( 'No Author', 'thrive-cb' ) : '';
} else {
if ( empty( $data['link'] ) ) {
echo esc_html( $author_name );
} else {
$attrs = array(
'href' => get_author_posts_url( $author ),
'title' => $author_name,
'data-css' => empty( $data['css'] ) ? '' : $data['css'],
);
if ( ! empty( $data['target'] ) && ( $data['target'] === '1' ) ) {
$attrs['target'] = '_blank';
}
if ( ! empty( $data['rel'] ) && ( $data['rel'] === '1' ) ) {
$attrs['rel'] = 'nofollow';
}
echo TCB_Utils::wrap_content( $author_name, 'a', '', '', $attrs ); // phpcs:ignore
}
}

View File

@@ -0,0 +1,22 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-theme
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
global $post;
$author = apply_filters( 'tcb_post_author', ( empty( $post ) ? null : $post->post_author ) );
$author_id = get_user_by( 'id', $author );
$author_role = empty( $author_id->roles ) ? '' : $author_id->roles[0];
if ( empty( $author_role ) ) {
echo TCB_Editor()->is_inner_frame() || TCB_Utils::is_rest() ? esc_html__( 'No Author Role', 'thrive-cb' ) : '';
} else {
echo esc_html( $author_role );
}

View File

@@ -0,0 +1,43 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-theme
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
$comments_number = get_comments_number();
/**
* $data['url'] values:
* 0 / empty - no url
* 1 - post url
* 2 - post comments url
*/
if ( empty( $data['url'] ) ) {
echo esc_html( $comments_number );
} else {
global $post;
$post_url = get_permalink( $post );
$link_attr = array(
'title' => __( 'Comments Number', 'thrive-cb' ),
'target' => '_blank',
);
switch ( (int) $data['url'] ) {
case 1:
$link_attr['href'] = $post_url;
break;
case 2:
$link_attr['href'] = $post_url . '#comments';
break;
default:
break;
}
echo TCB_Utils::wrap_content( $comments_number, 'a', '', '', $link_attr ); // phpcs:ignore
}

View File

@@ -0,0 +1,45 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-theme
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
global $post;
if ( ! empty( $post ) ) {
$categories = get_the_category( $post->ID );
}
if ( empty( $categories ) ) {
echo TCB_Editor()->is_inner_frame() || TCB_Utils::is_rest() ? esc_html__( 'No Categories', 'thrive-cb' ) : ''; // phpcs:ignore
} else {
$categories = array_map( function ( $category ) use ( $data, $post ) {
$url = get_category_link( $category->term_id );
$attrs = array(
'href' => $url,
'title' => $category->name,
'data-css' => empty( $data['css'] ) ? '' : $data['css'],
);
if ( ! empty( $data['target'] ) && ( $data['target'] === '1' ) ) {
$attrs['target'] = '_blank';
}
if ( ! empty( $data['rel'] ) && ( $data['rel'] === '1' ) ) {
$attrs['rel'] = 'nofollow';
}
return empty( $url ) || empty( $data['link'] )
? $category->name
: TCB_Utils::wrap_content( $category->name, 'a', '', '', $attrs );
}, $categories );
echo implode( ', ', $categories ); //phpcs:ignore
}

View File

@@ -0,0 +1,32 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-theme
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
$date = $data['date'];
if ( empty( $data['link'] ) ) {
echo esc_html( $date );
} else {
$attrs = array(
'href' => get_month_link( get_the_date( 'Y' ), get_the_date( 'm' ) ),
'title' => $date,
'data-css' => empty( $data['css'] ) ? '' : $data['css'],
);
if ( ! empty( $data['target'] ) && ( $data['target'] === '1' ) ) {
$attrs['target'] = '_blank';
}
if ( ! empty( $data['rel'] ) && ( $data['rel'] === '1' ) ) {
$attrs['rel'] = 'nofollow';
}
echo TCB_Utils::wrap_content( $date, 'a', '', '', $attrs ); // phpcs:ignore
}

View File

@@ -0,0 +1,50 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-theme
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
global $post;
if ( ! empty( $post ) ) {
$tags = get_the_tags( $post->ID );
}
if ( empty( $tags ) ) {
if ( TCB_Editor()->is_inner_frame() || TCB_Utils::is_rest() ) {
echo esc_html__( 'No Tags', 'thrive-cb' );
} elseif ( ! empty( $data['default'] ) ) {
echo esc_html( $data['default'] );
}
} else {
$tags = array_map( function ( $tag ) use ( $data, $post ) {
$url = get_tag_link( $tag->term_id );
$attrs = array(
'href' => $url,
'title' => $tag->name,
'data-css' => empty( $data['css'] ) ? '' : $data['css'],
);
if ( ! empty( $data['target'] ) && ( $data['target'] === '1' ) ) {
$attrs['target'] = '_blank';
}
if ( ! empty( $data['rel'] ) && ( $data['rel'] === '1' ) ) {
$attrs['rel'] = 'nofollow';
}
return empty( $url ) || empty( $data['link'] )
? $tag->name
: TCB_Utils::wrap_content( $tag->name, 'a', '', '', $attrs );
}, $tags );
echo implode( ', ', $tags ); //phpcs:ignore
}

View File

@@ -0,0 +1,43 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-theme
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
$title = get_the_title();
if ( empty( $title ) ) {
echo TCB_Editor()->is_inner_frame() || TCB_Utils::is_rest() ? esc_html__( 'No Title', 'thrive-cb' ) : '';
} else {
$queried_object = get_queried_object();
$is_inline_shortcode_without_url = ! empty( $data['inline'] ) && empty( $data['url'] ) && empty( $data['link'] );
/* when the title is on the same page with its post, the link's href attribute should just be '#' */
$same_page_as_post = ! empty( $queried_object ) && ! empty( $queried_object->ID ) && $queried_object->ID === get_the_ID();
if ( $is_inline_shortcode_without_url ) {
echo $title; // phpcs:ignore
} else {
$attrs = array(
'href' => $same_page_as_post ? '#' : get_the_permalink(),
'title' => $title,
'data-css' => empty( $data['css'] ) ? '' : $data['css'],
);
if ( ! empty( $data['target'] ) && ( $data['target'] === '1' ) ) {
$attrs['target'] = '_blank';
}
if ( ! empty( $data['rel'] ) && ( $data['rel'] === '1' ) ) {
$attrs['rel'] = 'nofollow';
}
echo TCB_Utils::wrap_content( $title, 'a', '', '', $attrs ); // phpcs:ignore
}
}