html拡張子のあるページでのPHPの使用。 PHP:テキストファイルに「ミニデータベース」を作成する検索ページのレコード数を変更する

便利なスニペット(コード)のコレクション。 コードは、テーマを編集または作成する際の一般的なタスク用に設計されています。

通常、これらのコードはすべて、テーマのfunctions.phpファイルに配置する必要があります。 または、別の.phpファイルを作成し、そこにコードを配置して、次のようにテーマのfunctions.phpにファイルを含めることができます。

//スニペットを含めるrequire_once"functions-snippets.php";

外観

TinyMCEエディターのCSS

スタイルシートをWordPressTinyMCEエディターに添付します。 このようにして、管理パネルでエディタースタイルを設定し、投稿を編集するときに、フロントエンドでどのように表示されるかを確認できます。

// TinyMCEエディターのスタイル//テーマフォルダーに「editor-styles.css」ファイルを作成する必要がありますadd_action( "current_screen"、 "my_theme_add_editor_styles"); function my_theme_add_editor_styles()(add_editor_style( "editor-styles.css");)

ログインページのCSS

##ログインページのCSS##テーマフォルダに「wp-login.css」ファイルを作成する必要がありますadd_action( "login_head"、 "my_loginCSS"); 関数my_loginCSS()(echo " "; }

管理パネルのCSS

スタイルファイルを管理パネルのすべてのページに接続します。 そのため、管理パネルのスタイルを簡単に作り直して補足することができます。

## CSSスタイル管理パネル用。 テーマフォルダに「wp-admin.css」ファイルを作成する必要がありますadd_action( "admin_enqueue_scripts"、 "my_admin_css"、99); function my_admin_css()(wp_enqueue_style( "my-wp-admin"、get_template_directory_uri()。 "/ wp-admin.css");)

フロントエンドからの管理バーの削除

テーマで固定(フローティング)ブロックを使用すると、管理バーが邪魔になる可能性があります。 このような場合、このバーを削除する方が簡単な場合があります。

##フロントエンドから管理バーを削除しますadd_filter( "show_admin_bar"、 "__return_false"); ##ウィジェットのサポートを有効にします。 ウィジェット用の領域を追加if(function_exists( "register_sidebar"))(register_sidebar(array( "before_widget" => "

"、" before_title "=>"

"、" after_title "=>"

",)); }

カスタムメニューサポートのアクティブ化

メニューのエリア(場所)を登録し、メニューサポートを有効にします。 このコードを管理パネルにインストールすると、カスタムメニューを作成して、このコードで作成された領域に添付できるようになります。 メニューテンプレートには、wp_nav_menu()関数が表示されます。

##カスタムメニューを追加register_nav_menus(array( "main" => "Main menu"、 "in_footer" => "Footer menu"、));

投稿のRSSフィードとコメントのフィードへのリンクの追加

カスタム背景画像または背景

##管理者から背景画像を設定する機能を有効にしますadd_theme_support( "custom-background");

その結果、コードは次のように出力します。

テキストウィジェットにショートコードを含める

多くのプラグインはショートコードを使用しますが、すべてにウィジェットがあるわけではありません。 この場合、テキストウィジェットでプラグインのショートコードを使用すると便利です。

##「テキスト」ウィジェットのショートコードif(!is_admin())(add_filter( "widget_text"、 "do_shortcode"、11);)

管理コンテンツフィールドのランダムなデフォルトテキスト

作成中 新記録(投稿またはページの)メモ、書き方と書き方の説明があると便利な場合があります。 これを行うには、デフォルトのテキストをコンテンツに挿入します。

##ランダムなデフォルトのエディタテキストadd_filter( "default_content"、 "writing_encouragement_func"); functionwriting_encouragement_func($ content)(global $ post_type; //エディターのテキスト、投稿タイプif($ post_type == "post")($ array = array( "Some message"、 "

ある種のメッセージ

"、); return $ array [array_rand($ array)];)//エディターのテキスト、投稿タイプページelse($ array = array(" Some message "、"

ある種のメッセージ

"、); return $ array [array_rand($ array)];))

検索ページのエントリ数を変更する

デフォルトでは、検索ページには、設定で設定されているように、他の場所と同じ数のエントリがページに表示されます。

この例は、ページごとに100エントリを表示する方法を示しています。

##検索ページの投稿数を変更します-ここで100に設定しますadd_action( "pre_get_posts"、 "search_results_per_page_func"); function search_results_per_page_func($ query)(//検索ページでクエリif(!is_admin()&& $ query-> is_main_query()&& $ query-> is_search())($ query-> set( "posts_per_page"、100) ;)return $ query;)

引用に含める単語の数を決定します。これは通常、投稿のアーカイブページ(見出し、タグ)に表示されます。 引用はthe_excerpt()関数によって出力されます。

##引用符の長さを変更するadd_filter( "excerpt_length"、 "custom_excerpt_length_func"); function custom_excerpt_length_func($ length)(return 20; //単語数)

管理パネルのプロファイルからフィールドを削除する:AIM、Yahoo IM、Jabber

##プロファイルからフィールドを削除します:AIM、Yahoo IM、Jabber / Googleトークadd_filter( "user_contactmethods"、 "remove_contactmethod"); function remove_contactmethod($ contactmethods)(unset($ contactmethods ["aim"]); unset($ contactmethods ["jabber"]); unset($ contactmethods ["yim"]); return $ contactmethods;)

管理パネルのプロファイルにフィールドを追加する:facebook、twitter

##プロファイルにフィールドを追加します:AIM、Yahoo IM、Jabber / Googleトークadd_filter( "user_contactmethods"、 "add_contactmethod"); function add_contactmethod($ contactmethods)($ contactmethods ["twitter"] = "Twitter"; $ contactmethods ["facebook"] = "Facebook"; return $ contactmethods;)

タグにhas_sidebarクラスを追加する サイドバーがある場合

このハックが機能するためには、タグのトピックでそれが必要です いつものように、body_class()テンプレートタグを使用しました。

##`has_sidebar`クラスを`タグに追加する `サイドバーがある場合add_filter(" body_class "、" has_sidebar_func "); function has_sidebar_func($ classes)(if(is_active_sidebar( "sidebar"))(//クラスを追加$ classes = "has_sidebar";)return $ classes;)

コンソールへのウィジェットの追加

配置するために、管理パネルのコンソールにウィジェットを追加すると便利な場合があります 重要な情報現在のトピックについて。

##管理パネルのコンソールにあるカスタムウィジェットadd_action( "wp_dashboard_setup"、 "my_custom_dashboard_widgets"); function my_custom_dashboard_widgets()(wp_add_dashboard_widget( "custom_help_widget"、 "Theme Notes"、 "custom_dashboard_help");)function custom_dashboard_help()(echo "

私のテーマへようこそ! ここにトピックに関するいくつかのメモがあります。";)

次のウィジェットを取得します。

コメント返信スクリプトを含む

このスクリプトは、「返信」ボタンがクリックされたときにコメントフォームを移動します。

##コメント応答スクリプトの追加add_action( "wp_footer"、 "enable_threaded_comments"); function enable_threaded_comments()(if(is_singular()&& reviews_open()&& get_option( "thread_comments"))wp_enqueue_script( "comment-reply");)

画像

投稿のサムネイルを有効にする

デフォルトでは、投稿のサムネイルを設定できる投稿のブロックはありません。 このようなブロックを表示するには、ブロックを有効にする必要があります。 サムネイルサポートを有効にする必要があります。 これは非常に簡単に行われます。

##投稿サムネイルを有効にするadd_theme_support( "post-thumbnails"); set_post_thumbnail_size(200、200、true); //通常の投稿のサムネイル

追加の中間サムネイルサイズの作成

画像をアップロードすると、追加のサイズ(サムネイル)が作成されます。 基本サイズに独自のサイズを簡単に追加できます-任意です。

##中間サムネイルサイズを作成if(function_exists( "add_image_size"))(add_image_size( "mysize-horizo​​nt"、300、200、true); add_image_size( "mysize-vertical"、400、500、true);)

登録されたサイズを取得するには、次の関数を使用します。

RSSフィードにサムネイルを追加する

このコードは、RSSフィードの上部に投稿のサムネイルを追加します。

## RSSフィードにサムネイルを追加add_filter( "the_excerpt_rss"、 "add_thumbnail_to_feed"); // add_filter( "the_content_feed"、 "add_thumbnail_to_feed"); //通常、このフックは使用されませんが、次のようになります... function add_thumbnail_to_feed($ content)($ img = get_the_post_thumbnail(null、array(100、80)、array( "align" => "left"、 "style "=>" margin-right:15px; ")); $ content =$img。$content;return $ content;)

タグで画像をアンラップする

コンテンツで

the_content()を使用してテーマにコンテンツを表示すると、wpautop()関数がトリガーされ、その結果、 別の行にあり、ラップします

それらの。 そうだった なりました 。

この例は、このような奇妙な動作を削除する方法を示しています。

##タグ`で画像をアンラップ

`コンテンツ内add_filter(" the_content "、" remove_img_ptags_func "); function remove_img_ptags_func($ content)(return preg_replace( "/

\ s *((?: ] +>)?\ s * ] +> \ s *(?:<\/a>)?)\ s *<\/p>/ i "、" \ 1 "、$ content);)//IEのhtml5スクリプトをcdnadd_action(" wp_head "、" IEhtml5_shim_func "); function IEhtml5_shim_func()(echo"に接続します";//または印刷サポートも必要な場合//echo""; }

ポストリビジョンの最大数を設定します

デフォルトでは、ポストリビジョンの数は無制限であり、これによりデータベースが不必要に散らかる可能性があります。 リビジョンを完全に無効にすることも最善の解決策ではありません。投稿を編集するときに問題が発生し、入力されたデータが失われるためです。

理想的には、リビジョンの数を5に制限します。

If(!defined( "WP_POST_REVISIONS"))define( "WP_POST_REVISIONS"、5);

定数はプラグイン以前で定義する必要があります。

保護

WPバージョンの削除

これは、ハッカーがWPのバージョンを知らず、弱点を特定できないようにするために必要です。 このコードに加えて、サイトのルートにあるreadme.htmlファイルも削除する必要があります。これは、現在のバージョンも示しているためです。

## WPバージョンを完全に削除します##サイトのルートにあるreadme.htmlファイルも削除する必要がありますremove_action( "wp_head"、 "wp_generator"); //ヘッダーからadd_filter( "the_generator"、 "__return_empty_string"); //フィードとURLから

ログインページでエラーメッセージを無効にする

エラーが発生した場合、ログインまたはパスワードを入力すると、WPは正確に間違って入力されたもの(ログインまたはパスワード)を報告します。 これにより、パスワード推測者に追加情報が提供されます。

テーマとプラグインの管理パネルでファイルを編集する機能を無効にします

管理者から直接ファイルを編集できることは、大きなセキュリティホールになる可能性があります。 閉じましょう。

##テーマの管理者でファイルを編集する機能を無効にします。プラグインdefine( "DISALLOW_FILE_EDIT"、true);

xmlrpc.phpを介してパブリケーションを閉じます

デフォルトでは、xmlrpc.phpファイルを介してエントリを公開する機能が有効になっています。

これは、メールなどの外部からレコードを公開するこのような機会です...ほとんどの場合、この機能は不要であり、潜在的な穴がある可能性があります。 したがって、ほとんどの場合、無効にすることが望ましいです。 ちなみに、以前のバージョンのWordPressでは、この機能はデフォルトで無効になっており、使用するには有効にする必要がありました。

## xmlrpc.phpを介して公開を閉じるadd_filter( "xmlrpc_enabled"、 "__return_false");

多くの場合、Webサイトでは、HTMLフォームが配置されたページを見つけることができます。 Webフォームは、Webサイトの訪問者から情報を取得するための便利な方法です。 この例は、ゲストブックです。 フィードバックサイト訪問者と開発者と。 フォームは、サイト開発者がCMSを開発するときにも便利です。これにより、サイトの主要なプロパティである関連性を維持できます。 この記事では、HTMLフォームの作成の基本、その処理、および画面上のフォームからPHPスクリプトにデータを渡す方法に焦点を当てています。

1)簡単なフォームを作成する

タグ

フォームの最初と最後を設定します。 フォーム開始タグ
2つの属性が含まれています。 アクション方法。 action属性には、スクリプトを処理するために呼び出す必要のあるスクリプトのURLが含まれています。 属性 方法フォームの送信に使用するHTTPリクエストの種類をブラウザに通知します。 可能な値 役職得る.

コメント

POSTメソッドとGETメソッドの主な違いは、情報の送信方法です。 GETメソッドでは、パラメータはアドレスバーを介して渡されます。 実際、リクエストのHTTPヘッダーでは、POSTメソッドでは、パラメーターはHTTPリクエストの本文を介して渡され、アドレスバーの形式にはまったく反映されません。

$ text = nl2br($ _ POST ["mytext"]);
?>

仕事: 2000年から2050年までの年のドロップダウンリストを作成するとします。
解決:作成する必要があります HTMLフォーム SELECT要素とPHP(フォームを処理するためのスクリプト)を使用します。

討論:

2つのファイルを作成することから始めましょう: form.htmlaction.php。 ファイル内 form.htmlドロップダウンリスト付きのhtmlフォームが含まれます。 さらに、リスト内の値は2つの方法で指定できます:

I.手動データ入力:

II。 ループを介したデータの入力:

ご覧のとおり、ループを使用した2番目の例はよりコンパクトです。 フォームハンドラスクリプトを指定する価値はないと思います。テキストフィールドと同じように処理されるためです。 リスト値はスーパーグローバル配列から取得できます $ _POST.

説明:

サーバーにファイルを送信するためのHTMLフォームを作成しましょう。




このhtmlフォームには要素があります ブラウズ、サーバーにアップロードするファイルを選択するためのダイアログボックスを開きます。 ボタンを押すことで 「転送ファイル」、ファイルはハンドラスクリプトに渡されます。

次に、スクリプトハンドラーを作成する必要があります action.php。 ハンドラーを作成する前に、ファイルをコピーするディレクトリを決定する必要があります。

if(isset($ _ FILES ["myfile"])) //ファイルが存在する場合
{
$ catalog = "../image/"; //ディレクトリ
if(is_dir($ catalog)) //そのようなディレクトリがある場合
{
$ myfile = $ _FILES ["myfile"] ["tmp_name"]; //一時ファイル
$ myfile_name = $ _FILES ["myfile"] ["name"]; // ファイル名
if(!copy($ myfile、$ catalog))echo 「ファイルのコピーエラー」。 $ myfile_name //ファイルのコピーが失敗した場合
}
else mkdir( "../ image /"); //そのようなディレクトリがない場合は、作成します
}
?>

コメント

ユーザーがサーバーにファイルをアップロードすることを信頼する場合は、細心の注意を払う必要があります。 攻撃者は、「不正な」コードを画像またはファイルに挿入してサーバーに送信する可能性があります。 このような場合、ファイルのダウンロードを厳密に制御する必要があります。

この例は、ディレクトリを作成し、サーバー上のそのディレクトリにファイルをコピーする方法を示しています。

また、要素を使用した例を示したいと思います チェックボックス。 この要素は、要素の1つではないにしても、他の要素とは少し異なります。 チェックボックス'aが選択されていない場合、スーパーグローバル変数 $ _POST空の値を返します:


青い
黒い


if(!empty($ _ POST ["mycolor"]))echo $ _POST ["mycolor"]; //少なくとも1つのアイテムが選択されている場合
エコー 「値を選択」;
?>




さらに質問がある場合、または何かが明確でない場合は、私たちへようこそ

個人的なサイトを作成する場合でも、すべての人がすべてを予測できるわけではありません 可能な方法そのさらなる使用。 サイトのさらなる開発のための土台を準備することは非常に重要です。 過去にWebサイトを作成し、すべてのページにデフォルトで.html拡張子を付けてから、PHPを使用することにした場合は、読み進めてください。

以前は、サイトページ名はSSIを使用するために.shtmlで終わる必要がありましたが、現在、ほとんどのインターネットサーバーは、拡張子が.htmlのページでSSIを許可するように構成されています。これは非常に便利です。 PHPの場合、それは別の話です。.php拡張子がデフォルトの拡張子です。 何が使用されるかを事前に知っているWebサイト開発者 与えられた言語プログラミングでは、ラインストーンに正しい拡張子が割り当てられます。

しかし、すべてのページが.html拡張子で終わっている場合はどうすればよいでしょうか。

HTML拡張機能をPHPに置き換える

これはいくつかの方法で行うことができます。 最も明白な方法は、すべてのページに.php拡張子を付けるか、すでに変更することです 既存の拡張機能(.html、.shtmlなど)。 この方法には欠点があります。 たとえば、拡張子が.htmlの既にインデックスに登録されているページは、インデックスを再作成する必要があります サーチエンジン。 さらに悪いことに、特定のページに明示的にリンクしているすべての外部リンクは無効になります。 また、これらの変更について各サイトの所有者に通知し、ページごとに301エラーのある別のページを作成する必要があります。 もちろん、ある拡張子を別の拡張子に変更することは許容されますが、サイトにすでに多くのページがあり、他のサイトとは異なるページへのリンクが多い場合はどうでしょうか。

明らかな理由で、 この瞬間このサイトのすべてのページはhtml拡張子で終わっており、上記の変更を加えたくなかったため、自分自身に不必要な問題が発生しました。

別の方法でそれを行うことができます。 サイトをホストしているサーバーがmod_rewriteをサポートしていて(ほとんどの場合サポートしています)、. htaccessファイルにアクセスできる場合は、このファイルに次の行を追加できます。

RewriteRuleのRewriteEngine^(。*)\。html $ 1 \ .php

このコードを.htaccessに追加することで、心配する必要はありません。 Apacheの素晴らしさのおかげで、.html拡張子を持つ要求されたすべての存在しないページは、自動的に.php拡張子に置き換えられます。 しかし、この方法だけではありません。 同じ.htaccessファイルに次のように書き込むことができます。

AddHandler application / x-httpd-php .php .html .htm

私の意見では、最も成功した方法です。 これにより、HTMLページはPHPページと同じになります。 PHP関数 HTML拡張子のあるページで使用できるようになりました。 .htaccessファイルにアクセスできない場合は、ホスティング会社に手紙を書いて、Apache構成(httpd.conf)でサイトに必要な値を設定するように管理者に丁寧に依頼することができます。

ちなみに、その前にサイトがSSIを使用していた場合は次のようになります。

次に、新しいPHP状態で、このコードを次のように置き換える必要があります。

さて、それだけです、私は上記の方法の1つが役立つと思います。

チートハプンズで

CheatCCで最もホットなもの!


CheatCCで最もホットなもの!


レベル選択

ノート:この手順には、ゲームファイルの編集が含まれます。 続行する前に、ファイルのバックアップコピーを作成してください。 テキストエディタを使用して、ゲームフォルダ内の「hitman2.ini」ファイルを編集します。 「DefaultScene=AllLevels / logos.gms」エントリを見つけて、「DefaultScene = AllLevels/levelmenu.gms」に変更します。 すべてのレベルが完了としてマークされ、選択レベルメニューのロックが解除されます。

レベルスキップ

ノート:

"、 どこ 大文字です。 ゲームを開始し、サードパーソンビューに変更するか、狙撃スコープまたは双眼鏡を使用します。 そのキーを押すと、現在のレベルが完了としてマークされます。

テレポート

ノート:この手順には、ゲームファイルの編集が含まれます。 続行する前に、ファイルのバックアップコピーを作成してください。 テキストエディタを使用して、ゲームフォルダ内の「keyboard.cfg」ファイルを編集します。 次のテキストグループを見つけます。

「K_NEXT」テキストを「K_ "、 どこ 大文字です。 ゲームを開始し、サードパーソンビューに変更するか、狙撃スコープまたは双眼鏡を使用します。 そのキーを押すと、47は十字線が平らな固い地面にある場所にテレポートします。

沈黙のバラーガン

「サイレントアサシン」ランクのレベルを無事に完了して、沈黙したバラーガンのロックを解除します。

ソードオフショットガン

「サイレントアサシン」ランクのレベルを2回成功裏に完了して、ソードオフショットガンのロックを解除します。

M4

M4を取得するには、「サイレントアサシン」ランクで5つのレベルを正常に完了します。 または、「サイレントアサシン」ランクで将軍対決レベルを正常に完了します。 または、Stを正常に完了します。 Petersburg Stakeout、Tubeway Torpedo、および「SilentAssassin」ランクのパーティレベルへの招待はすべて1つのセッションでランク付けされます。

ガンコレクション

すべてのレベルを通して、あなたは多くの異なるタイプの銃に遭遇するでしょう。 まだ持っていない銃を見つけたら、それを手に取ってください。 銃を見つけたレベルを完了すると、銃はあなたの家で利用できるようになります。 必要に応じて使用できる弾薬が部屋にあります。 ただし、大きすぎて衣服の中に入れられない銃がたくさんあるため、屋外で保持する必要があります。 持っている銃を落とさないと、同じサイズ以上の銃を拾うことはできません。 同じレベルにある他の銃は、すでに持っているために拾うことができず、必要な銃は大きすぎて隠すことができません。 この場合、どの銃をもっと欲しいかを決めて、それでレベルを終える必要があります。 いつでもそのレベルを再生して、取り残された他の銃を手に入れることができます。

チートコード

ノート:この手順には、ゲームファイルの編集が含まれます。 続行する前に、ファイルのバックアップコピーを作成してください。 テキストエディタを使用して、ゲームフォルダ内の「hitman2.ini」ファイルを編集します。 ファイルの最後に「EnableCheats1」(大文字と小文字を区別)という行を追加します。 ゲームのプレイ中に次の大文字と小文字を区別するコードのいずれかを入力して、対応するチート機能をアクティブにします。

結果 チートコード
トグルゴッドモード(USキーボード)IOIRULEZ
トグルゴッドモード(ヨーロッパキーボード)IOIRULEY
すべての武器とアイテムIOIGIVES
フル弾薬IOIEQPWEAP
健康を補充するIOIHITLEIF
スローモーションの敵の死を切り替えるIOISLO
爆弾モードを切り替えますIOIER
パンチングを有効にするイオヒタリ
致命的なモードを切り替えますIOILEPOW
重力を切り替えるIOIGRV
すべての銃はネイルガンとして機能しますIOINGUN
メガストレングスの武器を切り替えますIOIPOWER

から: [メール保護], [メール保護]、 と [メール保護]

チートコード(デモ版)

ノート:この手順には、ゲームファイルの編集が含まれます。 続行する前に、ファイルのバックアップコピーを作成してください。 テキストエディタを使用して、ゲームフォルダ内の「hitman2.ini」ファイルを編集します。 ファイルの最後に「enableconsole1」という行を追加します。 ゲームのプレイ中に、を押します ~ 、次にコンソールウィンドウで次のコードのいずれかを入力して、対応するチート機能をアクティブにします。

結果 チートコード
神モードを切り替える神様
デバッグモードを切り替えますipdebug
トグルインビジビリティ見えない
無限の弾薬infammo
すべての武器全部あげろ