- 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>
173 lines
3.6 KiB
PHP
Executable File
173 lines
3.6 KiB
PHP
Executable File
<?php
|
|
|
|
|
|
class TCB_User_Profile_Element extends TCB_Cloud_Template_Element_Abstract {
|
|
/**
|
|
* Name of the element
|
|
*
|
|
* @return string
|
|
*/
|
|
public function name() {
|
|
return __( 'User Profile', 'thrive-cb' );
|
|
}
|
|
|
|
/**
|
|
* Return icon class needed for display in menu
|
|
*
|
|
* @return string
|
|
*/
|
|
public function icon() {
|
|
return 'user_profile';
|
|
}
|
|
|
|
/**
|
|
* Get element alternate
|
|
*
|
|
* @return string
|
|
*/
|
|
public function alternate() {
|
|
return 'profile,user';
|
|
}
|
|
|
|
/**
|
|
* Element identifier
|
|
*
|
|
* @return string
|
|
*/
|
|
public function identifier() {
|
|
return '.tve-user-profile';
|
|
}
|
|
|
|
/**
|
|
* Whether or not this element is a placeholder
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function is_placeholder() {
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Element category that will be displayed in the sidebar
|
|
*
|
|
* @return string
|
|
*/
|
|
public function category() {
|
|
return static::get_thrive_integrations_label();
|
|
}
|
|
|
|
public function hide() {
|
|
/**
|
|
* By default this is hidden
|
|
*/
|
|
return apply_filters( 'tve_user_profile_hidden', true );
|
|
}
|
|
|
|
public function own_components() {
|
|
|
|
$components = array(
|
|
'user_profile' => array(
|
|
'config' => array(
|
|
'UserProfilePalette' => [
|
|
'config' => [],
|
|
'extends' => 'PalettesV2',
|
|
],
|
|
'FieldsControl' => [
|
|
'config' => [
|
|
'sortable' => true,
|
|
'settings_icon' => 'pen-light',
|
|
'default_fields' => TCB_User_Profile_Handler::DEFAULT_FIELDS,
|
|
],
|
|
],
|
|
'FieldsLabel' => array(
|
|
'config' => array(
|
|
'name' => __( 'Field label location', 'thrive-cb' ),
|
|
'buttons' => array(
|
|
array(
|
|
'value' => 'top',
|
|
'text' => __( 'Above', 'thrive-cb' ),
|
|
'default' => true,
|
|
),
|
|
array(
|
|
'value' => 'left',
|
|
'text' => __( 'Left', 'thrive-cb' ),
|
|
),
|
|
array(
|
|
'value' => 'hidden',
|
|
'text' => __( 'Hidden', 'thrive-cb' ),
|
|
),
|
|
),
|
|
),
|
|
'extends' => 'ButtonGroup',
|
|
),
|
|
'Width' => array(
|
|
'config' => array(
|
|
'default' => '0',
|
|
'min' => '10',
|
|
'max' => '500',
|
|
'label' => __( 'Input column width', 'thrive-cb' ),
|
|
'um' => [ '%', 'px' ],
|
|
'css' => 'max-width',
|
|
),
|
|
'extends' => 'Slider',
|
|
),
|
|
),
|
|
),
|
|
'layout' => [
|
|
'disabled_controls' => [
|
|
'Overflow',
|
|
'ScrollStyle',
|
|
],
|
|
],
|
|
'styles-templates' => [ 'hidden' => true ],
|
|
'animation' => [ 'hidden' => true ],
|
|
'typography' => [ 'hidden' => true ],
|
|
);
|
|
|
|
return array_merge(
|
|
$components,
|
|
$this->group_component()
|
|
);
|
|
}
|
|
|
|
public function has_group_editing() {
|
|
return array(
|
|
'select_values' => array(
|
|
array(
|
|
'value' => 'all_item',
|
|
'selector' => ' .tve-up-item',
|
|
'name' => __( 'Form items', 'thrive-cb' ),
|
|
'singular' => __( '-- Form item %s', 'thrive-cb' ),
|
|
),
|
|
array(
|
|
'value' => 'all_fields',
|
|
'selector' => ' .tve-up-input',
|
|
'name' => __( 'Form inputs', 'thrive-cb' ),
|
|
'singular' => __( '-- Form input %s', 'thrive-cb' ),
|
|
),
|
|
array(
|
|
'value' => 'all_labels',
|
|
'selector' => ' .thrv_text_element',
|
|
'name' => __( 'Form labels', 'thrive-cb' ),
|
|
'singular' => __( '-- Form label %s', 'thrive-cb' ),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Element info
|
|
*
|
|
* @return string|string[][]
|
|
*/
|
|
public function info() {
|
|
return [
|
|
'instructions' => [
|
|
'type' => 'help',
|
|
'url' => 'toggle',
|
|
'link' => 'https://thrivethemes.com/docs/using-the-user-profile-element-in-thrive-architect',
|
|
],
|
|
];
|
|
}
|
|
}
|