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();
Viêm khớp - Big Family PharmacySkip to content
Viêm khớp là căn bệnh rất phổ biến. Ở người già, viêm khớp xuất hiện do quá trình thoái hóa khớp; còn ở người trẻ, tình trạng này thường xuất hiện do viêm đa khớp dạng thấp hoặc các bệnh khớp tự miễn khác. Điều trị viêm khớp thường không triệt để, chủ yếu là làm giảm đau, giúp khớp hoạt động dễ dàng hơn và hạn chế bệnh tái phát cũng như ngăn ngừa biến dạng khớp.
Tìm hiểu chung
Viêm khớp là gì?
Viêm khớp là tình trạng viêm của khớp, có thể ảnh hưởng lên nhiều khớp khác nhau. Có hai loại viêm khớp thường gặp là viêm xương khớp và viêm khớp dạng thấp.
Viêm xương khớp:
Viêm xương khớp có thể ảnh hưởng đến lớp đệm của sụn khớp, làm người bệnh đau đớn và khó khăn khi di chuyển. Khi viêm nặng, sụn bị phá hủy có thể dẫn đến xương bị ma sát, khớp bị biến dạng, mọc gai xương hoặc xương rời khỏi vị trí bình thường. Tình trạng này thường xảy ra ở khớp bàn tay, cột sống, đầu gối, hông. Lứa tuổi trung niên, đặc biệt từ 40 tuổi trở lên là đối tượng dễ mắc bệnh nhất.
Viêm khớp dạng thấp:
Nơi có nguy cơ bị ảnh hưởng đầu tiên là phần màng che phủ khớp. Sau đó, tình trạng viêm sẽ lan đến những khớp xung quanh. Viêm khớp dạng thấp thường gây biến dạng khớp; điều này có thể dẫn đến gãy xương và sụn. Nghiêm trọng hơn, viêm khớp dạng thấp có thể ảnh hưởng đến mô mềm và các cơ quan khác.
Viêm khớp là căn bệnh rất phổ biến. Ở người già, viêm khớp xuất hiện do quá trình thoái hóa khớp; còn ở người trẻ, tình trạng này thường xuất hiện do viêm đa khớp dạng thấp hoặc các bệnh khớp tự miễn khác. Điều trị viêm khớp thường không triệt để, chủ yếu là làm giảm đau, giúp khớp hoạt động dễ dàng hơn và hạn chế bệnh tái phát cũng như ngăn ngừa biến dạng khớp.
Triệu chứng thường gặp
Những dấu hiệu và triệu chứng của viêm khớp
Các triệu chứng viêm khớp thường thấy như:
Đau khớp, ngay cả lúc không di chuyển;
Viêm tại chỗ hay xung quanh các khớp;
Sưng và cứng khớp;
Đỏ vùng da quanh khớp bị viêm;
Khớp bị hạn chế cử động.
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. 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 viêm khớp
Sụn là mô liên kết bao bọc các đầu xương giúp bảo vệ xương không bị ma sát vào nhau khi di chuyển. Nếu mô sụn bị viêm và bị bào mòn, các đầu xương không còn được bảo vệ sẽ dẫn đến va chạm vào nhau, bào mòn xương và gây ra tình trạng viêm, dẫn đến sự đau đớn và hạn chế cử động. Nguyên nhân cụ thể của mỗi loại viêm khớp thì khác nhau, bao gồm:
Tuổi tác: Tuổi tác càng cao, các tế bào xương trở nên già hóa. Khớp cũng trở nên khô do không còn tiết ra nhiều dịch khớp. Kèm theo đó là sụn giòn và dễ gãy hơn.
Chấn thương: Trong quá trình vận động, chơi thể thao hoặc tai nạn gây chấn thương đều có ảnh hưởng đến xương khớp và làm tăng nguy cơ bị viêm.
Do thừa cân, bị béo phì: Cân nặng quá mức làm tăng áp lực của cơ thể lên các khớp, đặc biệt là khớp đầu gối, khớp hông và cột sống.
Làm việc với động tác hoặc tư thế lặp đi lặp lại trong thời gian dài gây các dạng viêm khớp như: viêm khớp ngón tay, viêm khớp ngón chân, viêm khớp bàn tay, cổ tay, khớp vai,…
Hệ miễn dịch: Trong viêm khớp dạng thấp, hệ miễn dịch của cơ thể tấn công lớp màng của bao khớp – đây là một lớp màng bền chắc bao phủ toàn bộ khớp. Lớp màng này sẽ trở nên viêm và phù nề.
Nguy cơ mắc phải
Những ai có nguy cơ bị viêm khớp?
Viêm khớp là một bệnh khá phổ biến. Bệnh ảnh hưởng đến phụ nữ nhiều hơn nam giới. Hơn thế nữa, nó có thể xảy ra ở bất kỳ lứa tuổi nào, kể cả trẻ em.
Có rất nhiều yếu tố nguy cơ dẫn đến viêm khớp như:
Có tiền sử bị chấn thương khớp.
Tuổi tác càng lớn nguy cơ viêm khớp càng cao.
Người bị thừa cân, béo phì.
Lặp đi lặp lại thường xuyên một động tác cụ thể.
Điều trị hiệu quả
Phương pháp xét nghiệm và chẩn đoán viêm khớp
Bác sĩ chẩn đoán viêm khớp dựa trên các phương pháp sau:
Khám lâm sàng và xem xét các triệu chứng.
Hỏi bệnh sử và những chấn thương mà người bệnh gặp phải trong quá khứ.
Kiểm tra phần dịch xung quanh các khớp bị viêm bằng các xét nghiệm sau:
X-Quang: Cho thấy sự mất sụn, tổn thương xương và lồi xương.
Chụp cắt lớp vi tính (CT): Cho phép nhìn thấy cả xương và mô xung quanh.
Cộng hưởng từ (MRI): Tạo ra được những hình ảnh cắt ngang của mô mềm chi tiết hơn như sụn, gân và dây chằng.
Phương pháp điều trị viêm khớp hiệu quả
Việc điều trị dứt điểm viêm khớp rất khó đạt được, mục tiêu của việc điều trị là giảm đau, giúp khớp hoạt động dễ dàng hơn và hạn chế bệnh tái phát cũng như ngăn ngừa biến dạng khớp.
Thuốc thường dùng trong điều trị viêm khớp bao gồm:
Thuốc giảm đau (giúp giảm đau nhưng không cải thiện tình trạng viêm).
NSAID như ibuprofen;
Corticoid.
Trong trường hợp nghiêm trọng, bác sĩ có thể đề nghị phẫu thuật:
Phẫu thuật tạo hình khớp để thay thế khớp bị ảnh hưởng với một khớp tương ứng khác.
Phẫu thuật làm cứng khớp: đầu xương sẽ bị khóa lại với nhau cho đến khi chúng được chữa lành và trở thành một.
Tạo hình xương: xương sẽ được phẫu thuật tái tạo theo chuẩn.
Chế độ sinh hoạt phù hợp
Những thói quen sinh hoạt có thể giúp bạn hạn chế diễn tiến của viêm khớp
Bên cạnh điều trị, một vài thay đổi trong cuộc sống có thể giúp bạn kiểm soát viêm khớp như:
Tập thể dục thường xuyên, nhẹ nhàng và vừa sức sẽ giúp khớp của bạn dẻo dai.
Nghỉ ngơi để tránh quá sức, điều này có thể làm nặng thêm tình trạng bệnh của bạn.
Ăn kiêng, ăn thức ăn có chứa chất chống oxy hóa có thể giảm viêm.
Duy trì cân nặng ổn định, cân đối để tránh tạo áp lực lên các khớp xương.
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.