header and footer, add PHP code snippets with conditional logic, insert ads pixel, custom content, and more.
* License: GPLv2 or later
*
* Text Domain: insert-headers-and-footers
* Domain Path: /languages
*
* @package WPCode
*/
/*
Copyright 2019 WPBeginner
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2, as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// Don't allow multiple versions to be active.
if ( function_exists( 'WPCode' ) ) {
if ( ! function_exists( 'wpcode_pro_just_activated' ) ) {
/**
* When we activate a Pro version, we need to do additional operations:
* 1) deactivate a Lite version;
* 2) register option which help to run all activation process for Pro version (custom tables creation, etc.).
*/
function wpcode_pro_just_activated() {
wpcode_deactivate();
add_option( 'wpcode_install', 1 );
}
}
add_action( 'activate_wpcode-premium/wpcode.php', 'wpcode_pro_just_activated' );
if ( ! function_exists( 'wpcode_lite_just_activated' ) ) {
/**
* Store temporarily that the Lite version of the plugin was activated.
* This is needed because WP does a redirect after activation and
* we need to preserve this state to know whether user activated Lite or not.
*/
function wpcode_lite_just_activated() {
set_transient( 'wpcode_lite_just_activated', true );
}
}
add_action( 'activate_insert-headers-and-footers/ihaf.php', 'wpcode_lite_just_activated' );
if ( ! function_exists( 'wpcode_lite_just_deactivated' ) ) {
/**
* Store temporarily that Lite plugin was deactivated.
* Convert temporary "activated" value to a global variable,
* so it is available through the request. Remove from the storage.
*/
function wpcode_lite_just_deactivated() {
global $wpcode_lite_just_activated, $wpcode_lite_just_deactivated;
$wpcode_lite_just_activated = (bool) get_transient( 'wpcode_lite_just_activated' );
$wpcode_lite_just_deactivated = true;
delete_transient( 'wpcode_lite_just_activated' );
}
}
add_action( 'deactivate_insert-headers-and-footers/ihaf.php', 'wpcode_lite_just_deactivated' );
if ( ! function_exists( 'wpcode_deactivate' ) ) {
/**
* Deactivate Lite if WPCode already activated.
*/
function wpcode_deactivate() {
$plugin = 'insert-headers-and-footers/ihaf.php';
deactivate_plugins( $plugin );
do_action( 'wpcode_plugin_deactivated', $plugin );
}
}
add_action( 'admin_init', 'wpcode_deactivate' );
if ( ! function_exists( 'wpcode_lite_notice' ) ) {
/**
* Display the notice after deactivation when Pro is still active
* and user wanted to activate the Lite version of the plugin.
*/
function wpcode_lite_notice() {
global $wpcode_lite_just_activated, $wpcode_lite_just_deactivated;
if (
empty( $wpcode_lite_just_activated ) ||
empty( $wpcode_lite_just_deactivated )
) {
return;
}
// Currently tried to activate Lite with Pro still active, so display the message.
printf(
'
%1$s
%2$s
',
esc_html__( 'Heads up!', 'insert-headers-and-footers' ),
esc_html__( 'Your site already has WPCode Pro activated. If you want to switch to WPCode Lite, please first go to Plugins → Installed Plugins and deactivate WPCode. Then, you can activate WPCode Lite.', 'insert-headers-and-footers' )
);
if ( isset( $_GET['activate'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
unset( $_GET['activate'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
}
unset( $wpcode_lite_just_activated, $wpcode_lite_just_deactivated );
}
}
add_action( 'admin_notices', 'wpcode_lite_notice' );
// Do not process the plugin code further.
return;
}
/**
* Main WPCode Class
*/
class WPCode {
/**
* Holds the instance of the plugin.
*
* @since 2.0.0
*
* @var WPCode The one true WPCode
*/
private static $instance;
/**
* Plugin version.
*
* @since 2.0.0
*
* @var string
*/
public $version = '';
/**
* The auto-insert instance.
*
* @var WPCode_Auto_Insert
*/
public $auto_insert;
/**
* The snippet execution instance.
*
* @var WPCode_Snippet_Execute
*/
public $execute;
/**
* The error handling instance.
*
* @var WPCode_Error
*/
public $error;
/**
* The conditional logic instance.
*
* @var WPCode_Conditional_Logic
*/
public $conditional_logic;
/**
* The conditional logic instance.
*
* @var WPCode_Snippet_Cache
*/
public $cache;
/**
* The snippet library.
*
* @var WPCode_Library
*/
public $library;
/**
* The Snippet Generator.
*
* @var WPCode_Generator
*/
public $generator;
/**
* The plugin settings.
*
* @var WPCode_Settings
*/
public $settings;
/**
* The plugin importers.
*
* @var WPCode_Importers
*/
public $importers;
/**
* The file cache class.
*
* @var WPCode_File_Cache
*/
public $file_cache;
/**
* The notifications instance (admin-only).
*
* @var WPCode_Notifications
*/
public $notifications;
/**
* The admin page loader.
*
* @var WPCode_Admin_Page_Loader
*/
public $admin_page_loader;
/**
* The library auth instance.
*
* @var WPCode_Library_Auth
*/
public $library_auth;
/**
* The admin notices instance.
*
* @var WPCode_Notice
*/
public $notice;
/**
* Instance for logging errors.
*
* @var WPCode_File_Logger
*/
public $logger;
/**
* Load the smart tags.
*
* @var WPCode_Smart_Tags
*/
public $smart_tags;
/**
* Main instance of WPCode.
*
* @return WPCode
* @since 2.0.0
*/
public static function instance() {
if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WPCode ) ) {
self::$instance = new WPCode();
}
return self::$instance;
}
/**
* Constructor.
*/
private function __construct() {
$this->setup_constants();
$this->includes();
add_action( 'plugins_loaded', array( $this, 'load_components' ), - 1 );
}
/**
* Set up global constants.
*
* @return void
*/
private function setup_constants() {
define( 'WPCODE_FILE', __FILE__ );
$plugin_headers = get_file_data( WPCODE_FILE, array( 'version' => 'Version' ) );
define( 'WPCODE_VERSION', $plugin_headers['version'] );
define( 'WPCODE_PLUGIN_BASENAME', plugin_basename( WPCODE_FILE ) );
define( 'WPCODE_PLUGIN_URL', plugin_dir_url( WPCODE_FILE ) );
define( 'WPCODE_PLUGIN_PATH', plugin_dir_path( WPCODE_FILE ) );
$this->version = WPCODE_VERSION;
}
/**
* Require the files needed for the plugin.
*
* @return void
*/
private function includes() {
// Load the safe mode logic first.
require_once WPCODE_PLUGIN_PATH . 'includes/safe-mode.php';
// Plugin helper functions.
require_once WPCODE_PLUGIN_PATH . 'includes/helpers.php';
// Functions for global headers & footers output.
require_once WPCODE_PLUGIN_PATH . 'includes/global-output.php';
// Use the old class name for backwards compatibility.
require_once WPCODE_PLUGIN_PATH . 'includes/legacy.php';
// Add backwards compatibility for older versions of PHP or WP.
require_once WPCODE_PLUGIN_PATH . 'includes/compat.php';
// Register code snippets post type.
require_once WPCODE_PLUGIN_PATH . 'includes/post-type.php';
// The snippet class.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-snippet.php';
// Auto-insert options.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-auto-insert.php';
// Execute snippets.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-snippet-execute.php';
// Handle PHP errors.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-error.php';
// [wpcode] shortcode.
require_once WPCODE_PLUGIN_PATH . 'includes/shortcode.php';
// Conditional logic.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-conditional-logic.php';
// Snippet Cache.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-snippet-cache.php';
// Settings class.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-settings.php';
// Custom capabilities.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-capabilities.php';
// Map capabilities for backwards compatibility.
require_once WPCODE_PLUGIN_PATH . 'includes/capabilities.php';
// Install routines.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-install.php';
// Logging class.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-file-logger.php';
// Smart tags class.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-smart-tags.php';
// Admin bar info class.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-admin-bar-info.php';
if ( is_admin() || ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
require_once WPCODE_PLUGIN_PATH . 'includes/icons.php'; // This is not needed in the frontend atm.
// Code Editor class.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-code-editor.php';
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-admin-page-loader.php';
require_once WPCODE_PLUGIN_PATH . 'includes/admin/admin-scripts.php';
require_once WPCODE_PLUGIN_PATH . 'includes/admin/admin-ajax-handlers.php';
// Always used just in the backend.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-generator.php';
// Snippet Library.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-library.php';
// Authentication for the library site.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-library-auth.php';
// Importers.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-importers.php';
// File cache.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-file-cache.php';
// The docs.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-docs.php';
// Notifications class.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-notifications.php';
// Upgrade page.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-upgrade-welcome.php';
// Metabox class.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-metabox-snippets.php';
// Metabox class.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-admin-notice.php';
// Ask for some love.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-review.php';
}
// Load lite-specific files.
require_once WPCODE_PLUGIN_PATH . 'includes/lite/loader.php';
}
/**
* Load the Generator on demand.
*
* @return WPCode_Generator
*/
public function generator() {
if ( ! isset( $this->generator ) ) {
$this->generator = new WPCode_Generator();
}
return $this->generator;
}
/**
* Load components in the main plugin instance.
*
* @return void
*/
public function load_components() {
$this->auto_insert = new WPCode_Auto_Insert();
$this->execute = new WPCode_Snippet_Execute();
$this->error = new WPCode_Error();
$this->conditional_logic = new WPCode_Conditional_Logic();
$this->cache = new WPCode_Snippet_Cache();
$this->settings = new WPCode_Settings();
$this->logger = new WPCode_File_Logger();
if ( is_admin() || ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
$this->file_cache = new WPCode_File_Cache();
$this->library = new WPCode_Library();
$this->library_auth = new WPCode_Library_Auth();
$this->importers = new WPCode_Importers();
$this->notifications = new WPCode_Notifications();
$this->admin_page_loader = new WPCode_Admin_Page_Loader_Lite();
$this->notice = new WPCode_Notice();
$this->smart_tags = new WPCode_Smart_Tags_Lite();
// Metabox class.
new WPCode_Metabox_Snippets_Lite();
// Usage tracking class.
new WPCode_Usage_Tracking_Lite();
}
new WPCode_Admin_Bar_Info_Lite();
do_action( 'wpcode_loaded' );
// Load the pluggable functions late to allow plugins to hook in.
require_once WPCODE_PLUGIN_PATH . 'includes/pluggable.php';
}
}
require_once dirname( __FILE__ ) . '/includes/ihaf.php';
WPCode();
Khô miệng - Big Family PharmacySkip to content
Tuyến nước bọt trong miệng có chức năng giúp việc nhai, nuốt, nếm, nói chuyện, giúp miệng giữ vững độ pH; nước bọt còn giúp ngừa sâu răng bằng cách trung hòa lượng acid trong khoang miệng, hạn chế sự phát triển của vi khuẩn.
Tìm hiểu chung
Khô miệng là gì?
Tuyến nước bọt trong miệng có chức năng giúp việc nhai, nuốt, nếm, nói chuyện, giúp miệng giữ vững độ pH; nước bọt còn giúp ngừa sâu răng bằng cách trung hòa lượng acid trong khoang miệng, hạn chế sự phát triển của vi khuẩn.
Tuyến nước bọt hoạt động kém khiến miệng khô, tình trạng này được gọi là khô miệng. Khi bị khô miệng, các bạn sẽ gặp những tình trạng sau đây: Lở loét tại các góc miệng, nứt môi chảy máu, nguy cơ nhiễm nấm trong miệng, tăng các mảng bám, sâu răng, viêm nướu răng, khó khăn trong việc nhai và nuốt thức ăn.
Triệu chứng thường gặp
Những dấu hiệu và triệu chứng của khô miệng
Dễ nhận thấy nhất ở bệnh khô miệng đó là những dấu hiệu sau đây:
Cảm giác miệng và cổ họng khô;
Nước bọt trong miệng khá sệt, dính và thường xuyên cảm thấy khát nước;
Hơi thở có mùi hôi khó chịu;
Khó khăn trong việc nói chuyện, nhai, nuốt thức ăn;
Khẩu vị ăn uống thay đổi;
Xuất hiện tình trạng sâu răng, bệnh về nướu.
Còn những dấu hiệu khác nhưng do chỉ xảy ra ở một số người nên không được đề cập.
Khi nào cần gặp bác sĩ?
Nếu có bất kỳ triệu chứng nào nêu trên xảy ra, bạn nên liên hệ ngay với bác sĩ để được kiểm tra và tư vấn. Mỗi người có một cơ địa khác nhau, bạn cần tham khảo ý kiến bác sĩ để có phương án điều trị thích hợp. Chẩn đoán và điều trị sớm sẽ giảm nguy cơ tăng nặng của bệnh và giúp bạn mau chóng hồi phục sức khỏe.
Nguyên nhân gây bệnh
Nguyên nhân dẫn đến khô miệng
Tổn thương thần kinh: Đó là ảnh hưởng của các cuộc chấn thương do tai nạn hay phẫu thuật vùng đầu và cổ có thể dẫn đến tình trạng khô miệng.
Ảnh hưởng của phương pháp trị bệnh: Xạ trị hoặc thuốc hóa trị gây nên sự thay đổi trong cơ thể, ảnh hưởng lên tuyến nước bọt khiến tuyến nước bọt hoạt động kém.
Tác dụng phụ của thuốc: Đặc biệt là các loại thuốc trị bệnh trầm cảm, lo âu, đau thần kinh, thuốc giảm đau các loại, thuốc kháng histamin,…
Ảnh hưởng bởi một số bệnh lý: HIV/AIDS, bệnh suy giảm trí nhớ Alzheimer, tiểu đường, xơ nang, cao huyết áp, bệnh Parkinson, và còn nhiều bệnh khác nữa.
Nguy cơ mắc phải
Những ai có nguy cơ mắc khô miệng?
Khô miệng là tình trạng có thể xuất hiện ở bất kỳ giới tính và lứa tuổi nào. Tuy nhiên, theo thống kê của bộ y tế thì bệnh thường xuất hiện nhiều ở nữ giới hơn.
Yếu tố làm tăng nguy cơ mắc khô miệng, bao gồm:
Hút thuốc lá càng nhiều thì tình trạng khô miệng càng trầm trọng.
Lão hóa: Nhiều bệnh lý liên quan đến sự lão hóa, gián tiếp dẫn đến tình trạng khô miệng.
Mất nước: Các bệnh khiến cơ thể mất nước như tiêu chảy, sốt cao, đổ mồ hôi nhiều cũng gây khô miệng.
Điều trị hiệu quả
Phương pháp xét nghiệm và chẩn đoán khô miệng
Các bác sĩ hay nha sĩ sẽ khám miệng, điều tra tiền sử hay bệnh nhân có đang điều trị bệnh lý nào không, từ đó mới xác định bệnh nhân có bị khô miệng hay khô miệng ở mức độ nào.
Nếu nguyên nhân không do ảnh hưởng của bất kỳ loại thuốc nào thì bệnh nhân sẽ được xét nghiệm máu, quét hình ảnh của tuyến nước bọt; thậm chí sinh thiết tuyến nước bọt để xác định nguyên nhân khô miệng. Sau khi đã có tất cả kết quả các xét nghiệm, các bác sĩ hoặc nha sĩ mới đưa ra các chẩn đoán phù hợp nhất.
Phương pháp điều trị khô miệng hiệu quả
Bác sĩ dựa vào nguyên nhân mà đưa ra giải pháp điều trị phù hợp:
Thuốc là nguyên nhân gây khô miệng: Bác sĩ sẽ điều chỉnh lượng thuốc hoặc thay đổi loại thuốc khác để không còn tình trạng khô miệng.
Chỉ định hoặc gợi ý cho bệnh nhân sử dụng các sản phẩm dưỡng ẩm miệng góp phần cải thiện tình trạng khô miệng.
Trường hợp khô miệng nặng: Bác sĩ chỉ định một số loại thuốc để kích thích tuyến nước bọt hoạt động mạnh hơn, tăng lượng nước bọt như bình thường, chẳng hạn như thuốc cevimeline hoặc pilocarpine.
Để ngăn ngừa hậu quả của việc khô miệng, bác sĩ khuyên bệnh nhân đeo khay fluoride trong vài phút vào buổi tối; sử dụng chlorhexidine hàng tuần để kiểm soát tình trạng răng sâu.
Chế độ sinh hoạt phù hợp
Phương pháp phòng ngừa hiệu quả
Thở bằng mũi và hạn chế tối đa việc thở bằng miệng.
Bỏ hút thuốc lá, hạn chế sử dụng các chất caffeine, chất kích thích hoặc ăn uống thực phẩm chứa nhiều đường, chất acid.
Kiểm tra răng miệng theo định kỳ mỗi năm.
Thường xuyên uống nước lọc để làm ẩm miệng cũng như cung cấp đủ lượng nước cần thiết cho cơ thể.
Mọi thông tin trên đây chỉ mang tính chất tham khảo. Việc sử dụng thuốc phải tuân theo hướng dẫn của bác sĩ chuyên môn.