次のコラム WordPress チュートリアル では、WordPress ガジェットに CSS オプションを追加する方法を紹介します。困っている友人のお役に立てれば幸いです。
WordPress ウィジェットは再利用でき、同じウィジェット スタイルも同じです。フロント デスクによって追加されたウィジェット スタイルを他のウィジェット スタイルと異なるようにカスタマイズしたい場合は、元のウィジェットを表示してその ID を見つけることができます。たとえば、ガジェットを検索すると、次のような内容が表示されます:
<section id="search-2" class="widget widget_search">
ここで、search-2 はこのガジェットの ID です。#search-2 を使用してスタイルを定義できます。ただし、このサフィックスの番号は固定ではなく、次回追加されますが、変更される可能性があり、以前のスタイルを再度編集する必要があり、少し面倒です。
次のコードを使用して、CSS クラス オプションを既存のガジェットに均一に追加できます。コードを現在のテーマ関数テンプレートの function.php に追加するだけです。効果は以下のようになります:
コード 1
CSS クラス オプションを 1 つだけ追加します
function zm_widget_form_extend( $instance, $widget ) { if ( !isset($instance['classes']) ) $instance['classes'] = null; $row = "<p>\n"; $row .= "\t<label for='widget-{$widget->id_base}-{$widget->number}-classes'>CSS类</label>\n"; $row .= "\t<input type='text' name='widget-{$widget->id_base}[{$widget->number}][classes]' id='widget-{$widget->id_base}-{$widget->number}-classes' class='widefat' value='{$instance['classes']}'/>\n"; $row .= "</p>\n"; echo $row; return $instance; } add_filter('widget_form_callback', 'zm_widget_form_extend', 10, 2); function zm_widget_update( $instance, $new_instance ) { $instance['classes'] = $new_instance['classes']; return $instance; } add_filter( 'widget_update_callback', 'zm_widget_update', 10, 2 ); function zm_dynamic_sidebar_params( $params ) { global $wp_registered_widgets; $widget_id = $params[0]['widget_id']; $widget_obj = $wp_registered_widgets[$widget_id]; $widget_opt = get_option($widget_obj['callback'][0]->option_name); $widget_num = $widget_obj['params'][0]['number']; if ( isset($widget_opt[$widget_num]['classes']) && !empty($widget_opt[$widget_num]['classes']) ) $params[0]['before_widget'] = preg_replace( '/class="/', "class=\"{$widget_opt[$widget_num]['classes']} ", $params[0]['before_widget'], 1 ); return $params; } add_filter( 'dynamic_sidebar_params', 'zm_dynamic_sidebar_params' );
コード 2
ID と CSS クラス ドロップを追加します。 down options
function zm_widget_form_extend( $instance, $widget ) { if ( !isset( $instance['classes'] ) ) $instance['classes'] = null; if ( !isset( $instance['custom_id'] ) ) $instance['custom_id'] = null; $class_prefix = 'widget-'; $myclass = array( 'default' => '默认', 'blue' => '蓝色', 'yellow' => '黄色', 'black' => '黑色', ); $row = "<p>\n"; $row .= "\t<label for='widget-{$widget->id_base}-{$widget->number}-custom_id'>添加ID</label>\n"; $row .= "\t<input type='text' name='widget-{$widget->id_base}[{$widget->number}][custom_id]' id='widget-{$widget->id_base}-{$widget->number}-custom_id' class='widefat' value='{$instance['custom_id']}' />\n"; $row .= "\t<label for='widget-{$widget->id_base}-{$widget->number}-classes'>CSS类</label>\n"; $row .= "\t<select name='widget-{$widget->id_base}[{$widget->number}][classes]' id='widget-{$widget->id_base}-{$widget->number}-classes' class='widefat'>"; foreach( $myclass as $key => $class ) { $selected = null; if( $class_prefix.$key == $instance['classes'] ) $selected = 'selected = "selected"'; $row .= "\t<option value='$class_prefix$key' $selected>$class</value>\n"; } $row .= "</select>\n"; echo $row; return $instance; } add_filter('widget_form_callback', 'zm_widget_form_extend', 10, 2); function zm_widget_update( $instance, $new_instance ) { $instance['classes'] = $new_instance['classes']; $instance['custom_id'] = $new_instance['custom_id']; return $instance; } add_filter( 'widget_update_callback', 'zm_widget_update', 10, 2 ); function zm_dynamic_sidebar_params( $params ) { global $wp_registered_widgets; $widget_id = $params[0]['widget_id']; $widget_obj = $wp_registered_widgets[$widget_id]; $widget_opt = get_option($widget_obj['callback'][0]->option_name); $widget_num = $widget_obj['params'][0]['number']; if ( isset( $widget_opt[$widget_num]['classes'] ) && !empty( $widget_opt[$widget_num]['classes'] ) ) $params[0]['before_widget'] = preg_replace( '/class="/', "class=\"{$widget_opt[$widget_num]['classes']} ", $params[0]['before_widget'], 1 ); if ( isset($widget_opt[$widget_num]['custom_id']) && !empty($widget_opt[$widget_num]['custom_id']) ) $params[0]['before_widget'] = preg_replace( '/id=".*?"/', "id=\"{$widget_opt[$widget_num]['custom_id']}\"", $params[0]['before_widget'], 1 ); return $params; } add_filter( 'dynamic_sidebar_params', 'zm_dynamic_sidebar_params' );
CSS クラス名はコード内に事前設定されているため、使用すると便利です。
欠点: 追加されたオプションは他のガジェット オプションの上に位置するため、改善する必要があります。
以上がWordPress ウィジェットに CSS クラス オプションを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

WordPressPluginsSisificallyScmscmScapabilitivitiationsCustomizationAndFunctionality.1)50,000を超える50,000PluginsallowuserStotailorStotailorsiteforseo、e-commerce.2)PluginsCanextEndCorefeatures、iceadding-customsttypes.3)

はい、WordPressはeコマースに非常に適しています。 1)WooCommerceプラグインを使用すると、WordPressはすぐに完全に機能的なオンラインストアになります。 2)パフォーマンスの最適化とセキュリティに注意し、キャッシュとセキュリティプラグインの定期的な更新と使用が重要です。 3)WordPressは、ユーザーエクスペリエンスを改善し、SEOを大幅に最適化するための豊富なカスタマイズオプションを提供します。

あなたのウェブサイトをyandexのウェブマスターツールに接続しますか? Google Search Console、Bing、YandexなどのWebマスターツールは、Webサイトの最適化、トラフィックの監視、robots.txtの管理、Webサイトのエラーの確認などを支援します。この記事では、WordPress WebサイトをYandex Webmasterツールに追加して、検索エンジントラフィックを監視する方法を共有します。 yandexとは何ですか? Yandexは、GoogleとBingに似たロシアに拠点を置く人気のある検索エンジンです。 Yandexで優れています

WordPressでHTTP画像アップロードエラーを修正する必要がありますか?このエラーは、WordPressでコンテンツを作成する場合、特にイライラする可能性があります。これは通常、組み込みのWordPressメディアライブラリを使用して画像またはその他のファイルをCMSにアップロードするときに発生します。この記事では、WordPressのHTTP画像アップロードエラーを簡単に修正する方法を示します。 WordPressメディアのアップロード中にHTTPエラーの理由は何ですか? WordPress Mediaアップローダーを使用してファイルをWOにアップロードしようとするとき

最近、読者の1人が、WordPressサイトの追加メディアボタンが突然機能しなくなったと報告しました。この古典的なエディターの問題には、エラーや警告が表示されないため、ユーザーが「メディアの追加」ボタンが機能しない理由を知りません。この記事では、WordPressの追加メディアボタンを簡単に修正する方法を示します。 WordPressの「メディアの追加」ボタンが動作を停止する原因は何ですか?古い古典的なWordPressエディターをまだ使用している場合、メディアの追加ボタンを使用すると、画像、ビデオなどをブログ投稿に挿入できます。

WordPress WebサイトでCookieの使用方法を知りたいですか? Cookieは、ユーザーのブラウザに一時情報を保存するための便利なツールです。この情報を使用して、パーソナライズと行動ターゲティングを通じてユーザーエクスペリエンスを強化できます。この究極のガイドでは、プロフェッショナルのようにWordPressCookiesを設定、取得、削除する方法を紹介します。注:これは高度なチュートリアルです。 HTML、CSS、WordPress Webサイト、PHPに習熟する必要があります。クッキーとは何ですか?ユーザーがWebサイトにアクセスすると、Cookieが作成および保存されます。

WordPress Webサイトに「429が多すぎるリクエスト」エラーが表示されますか?このエラーメッセージは、ユーザーがWebサイトのサーバーにHTTPリクエストを送信しすぎていることを意味します。このエラーは、エラーの原因を見つけるのが難しいため、非常にイライラする可能性があります。この記事では、「WordPress429ToomanyRequests」エラーを簡単に修正する方法を示します。 WordPress429のリクエストが多すぎるのは何ですか? 「429toomanyRequests」エラーの最も一般的な原因は、ユーザー、ボット、またはスクリプトがウェブサイトにアクセスしようとすることです

wordpresscanhandlelargewebsiteswithcarefulningandoptimization.1)usecachingtoreduceServerload.2)optimizeyourdatabaseRegularly.3)rivenceCdntodistributecontent.4)vetpluginsandmestoavoidConflicts.5)


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版
ビジュアル Web 開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
