投稿とページを改善するための29のWordPress調整
私たちはWordPressが大好きです - しかし私たち全員がすべてのデフォルト設定と表示に落ち着く準備ができているわけではありません - 特に投稿がどのように表示されるか。私たちが教えているように、ユニークさは訪問者に大きな印象を与えるウェブサイトのブランド化に重要であると言われているので、ブロガーと開発者はポストディスプレイをできる限りユニークにするためにポストディスプレイを微調整しようと努力しています。.
今日は、WordPressの投稿表示を改善するためにできるスマートな調整に焦点を当てます。投稿の表示を変更してユーザーエクスペリエンスを向上させるためにも、収益やページの表示回数を増やすためにも、プラグインなしで実行する方法がある可能性があります。提供されたコードをコピーして貼り付ける必要があります.
これらの調整があなたのプロジェクトに役立つことを願い、カスタマイズを楽しんでください。!
フロントエンド
1.抜粋の長さを変更する
以下の微調整はあなたの抜粋の長さを変えるでしょう、あなたはそれにあなたの以下のコードの行を単に加えることができます functions.php 値を持つファイル 75 抜粋の長さとして.
add_filter( 'excerpt_length'、 'my_excerpt_length'); function my_excerpt_length($ len)return 75;
[ソース:ダニー・ファン・クーテン]
Twitterのスタイル “時間前” 日付
ほとんどの人はWordPressに日付を表示するための組み込み関数があることを知りません。 “時間の前” 以下のスニペットをループ内の任意の場所に貼り付けて、フォーマット付きの日付を表示できます。.
投稿しました[ソース:PHPスニペット]
3. RSSフィードに投稿のサムネイルを表示する
WordPress 2.9で導入された
the_post_thumbnail()
この機能は、投稿に添付されたサムネイルを追加して表示するのに非常に便利です。悪いニュースは、RSSフィードにサムネイルを表示するための組み込みの方法がないことです。以下の機能はこの問題を解決します。それを貼り付けるだけです functions.php ファイルを保存して投稿のサムネイルが自動的にRSSフィードに表示されます.//フィードに投稿のサムネイルを表示する関数diw_post_thumbnail_feeds($ content)global $ post; if(has_post_thumbnail($ post-> ID))$ content = ''。 get_the_post_thumbnail($ post-> ID) ''。 $ content; return $ content; add_filter( 'the_excerpt_rss'、 'diw_post_thumbnail_feeds'); add_filter( 'the_content_feed'、 'diw_post_thumbnail_feeds');[ソース:WordPressを詳しく調べる]
4.投稿タイトルのみに検索を制限する
このスニペットを functions.php 検索を投稿タイトルのみに制限するWordPressテーマのファイル.
function __search_by_title_only($ search、&$ wp_query)if(empty($ search))は$ searchを返します。 //処理をスキップ - クエリに検索語がありません$ q =&$ wp_query-> query_vars; // wp-includes / query.php 2128行目(バージョン3.1)$ n =!empty($ q ['exact'])? ": '%'; $ searchand ="; foreach((配列)$ q ['search_terms']は$ termとして)$ term = esc_sql(like_escape($ term)); "; $ search。=" $ searchand($ wpdb-> posts.post_title LIKE '$ n $ term $ n') "; $ searchand = 'AND'; $ term = esc_sql(like_escape($ q ['s'])); if(empty($ q ['文 '])&& count($ q [' search_terms '])> 1 && $ q [' search_terms '] [0]!= $ q [' s '])$ search = "OR($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; "; if(!empty($ search))$ search = "AND($ search)"; if(!is_user_logged_in())$ search。= "AND($ wpdb-> posts.post_password =") "; return $ search; add_filter( 'posts_search'、 '__search_by_title_only'、10、2);[源:WpSnipp]
5.各投稿に番号を増やしながら表示する
以下の調整により、各投稿に増分番号を表示できます。実装は非常に簡単です。まず、以下の関数を functions.php ファイル:
function updateNumbers()グローバル$ wpdb; "; $ querystr =" $ wpdb->投稿を選択してください。* $ wpdb->投稿のどこから$ wpdb-> posts.post_status = '公開' AND $ wpdb-> posts.post_type = '投稿' "; $ pageposts = $ wpdb-> get_results($ querystr、OBJECT); $ counts = 0。 if($ pageposts):foreach($ postとしての$ pagepost):setup_postdata($ post); $は++をカウントします。 add_post_meta($ post-> ID、 'incr_number'、$ count、true); update_post_meta($ post-> ID、 'incr_number'、$ count); endforeach; endif; add_action( 'publish_post'、 'updateNumbers'); add_action( 'deleted_post'、 'updateNumbers'); add_action( 'edit_post'、 'updateNumbers');完了したら、次のコードを使用して投稿番号を表示できます。ループ内で使用する必要があります。.
ID、 'incr_number'、true); ?[源:アルキミス、WpRecipesを介して]
6. WordPressフィードから投稿を除外する
フィードから特定の投稿を除外しますか?これがあなたのための微調整です。注意して欲しいのは、あなたがフィルタリングしたい場所だけをフィルタリングするべきだということです。この例では、フィードにあります。
$ wp_query-> is_feed
. そうしないと、フィルタはバックエンドでも実行され、投稿の概要にこれらの投稿は表示されません。.この関数には2つのパラメータがあります。最初のパラメータを与えます
$ where
SQL文字列の拡張子。これは、SQL文字列に基づいてフィルタリングを行います。 ID. それから、括弧内にあなたが挿入する必要があります 投稿のID, あなたがフィルタリングしたいもの.function fb_post_exclude($ where、$ wp_query = NULL)グローバル$ wpdb; if(!$ wp_query)グローバル$ wp_query。 if($ wp_query-> is_feed)// id 40と9 $の投稿を除外する。= "AND $ wpdb-> posts.ID NOT IN(40、9)"; $ whereを返します。 add_filter( 'posts_where'、 'fb_post_exclude'、1、2);[ソース:WPエンジニア]
7.検索クエリが単一の結果を返したときに投稿するようにリダイレクトする
このスニペットを functions.php WordPressが単一の検索結果しか返さない場合に、検索を投稿に自動的にリダイレクトするためのWordPressテーマのファイル.
add_action( 'template_redirect'、 'single_result');関数single_result()if(is_search())グローバル$ wp_query; if($ wp_query-> post_count == 1)wp_redirect(get_permalink($ wp_query-> posts ['0'] - > ID));;[源:WpSnipp]
8. the_contentからメタ記述を自動的に作成する
にこのスニペットを追加する functions.php あなたのWordPressテーマのファイルはあなたのWordPress投稿からメタ説明を自動的に作成し、すべてのショートコードとタグを取り除きます。また、あなたがそれを持っていることを確認してください header.php あなたのWordPressテーマやこのスニペットの機能は使えません.
function create_meta_desc()global $ post; if(!is_single())return; $ meta = strip_tags($ post-> post_content); $ meta = strip_shortcodes($ post-> post_content); $ meta = str_replace(配列( "\ n"、 "\ r"、 "\ t")、 "、$ meta); $ meta = substr($ meta、0、125); echo""; add_action( 'wp_head'、 'create_meta_desc');[源:WpSnipp]
9.自動的にアフィリエイトリンクで単語を置き換えます
アフィリエイトリンクで自動的に単語を置き換えるには、単にあなたの下に以下のコードを貼り付けてください。 functions.php ファイル。下記のコード例のようにあなたの言葉/リンクを入力することを忘れないでください.
function replace_text_wps($ text)$ replace = array(// '置換する単語' => 'この単語で単語を置換する「論文' => '論文'、' studiopress '=>'スタジオプレス;) $ text = str_replace(array_keys($ replace)、$ replace、$ text); $ textを返します。 add_filter( 'the_content'、 'replace_text_wps'); add_filter( 'the_excerpt'、 'replace_text_wps');[源:catswhoblog.com]
10.追加 “続きを読む” the_excerptの末尾への固定リンク
このスニペットを functions.php あなたのWordPressテーマのファイルは “続きを読む” 末尾のパーマリンク
the_excerpt
, ほとんど何のようなコンテンツ
する.関数excerpt_readmore($ more)return '… ID); if($ tags)$ tag_ids = array(); foreach($ tagsを$ individual_tagとして)$ tag_ids [] = $ individual_tag-> term_id; $ args = array( 'tag__in' => $ tag_ids、 'post__not_in' => array($ post-> ID)、 'showposts' => 5、//表示される関連投稿の数 'caller_get_posts' => 1); $ my_query = new wp_query($ args); if($ my_query-> have_posts())echo '関連記事
[ソース:Bin-Co]
12.サイドバーに自分の人気のある投稿を作成する
人気のある投稿を表示するサイドバーウィジェットを設定するのはとても簡単です。以下のコードをコピーしてあなたの中に貼り付けるだけです。 sidebar.php ファイル。表示される投稿数を変更する必要がある場合は、 5 3行目の最後に、好きな番号を入力してください。.
人気の投稿
- get_results( "SELECT comment_count、ID、post_title from $ wpdb-> posts ORDER BY comment_count DESC LIMIT 0、5"); foreach($ resultを$ postとして)setup_postdata($ post); $ postid = $ post-> ID; $ title = $ post-> post_title; $ commentcount = $ post-> comment_count; if($ commentcount!= 0)?>
[ソース:プロブログデザイン]
13.有効期限後の日付/時刻を設定する
以下は、日付と時刻に基づいてポストの有効期限を作成できるようにするためにWordPressテーマに追加できる便利なコードです。あなたのテーマを編集し、あなたの現在のWordPressループをこの「ハッキングされた」ループに置き換えてください。
$ expirationtime = get_post_custom_values( 'expiration'); if(is_array($ expirationtime))$ expirestring = implode($ expirationtime); $ secondsbetween = strtotime($ expirestring)-time(); if($ seconds between> 0)//例えば…the_title(); the_excerpt();終わりに; endif; ?
有効期限付きの投稿を作成するには、カスタムフィールドを作成するだけです。与える 有効期限 キーとして、あなたの日付/時刻(フォーマット: mm / dd / yyyy 00:00:00値として)。投稿はその特定のタイムスタンプの後には表示されません.
[源:WpRecipes]
今後の投稿をリストする
WordPressでは、今後の投稿を一覧表示することができます。この機能を実現するには、今後の投稿を表示する場所にコードを貼り付けるだけです。
今後の予定
今後の予定はありません.
[源:WpRecipes]
15. AdSenseを検索エンジンの訪問者のみに表示する
検索エンジンの結果からAdSenseを訪問者に表示することができます。これを実現するためのコードは次のとおりです。下のコードをテーマの下に貼り付けるだけです。 functions.php ファイル.
function scratch99_fromasearchengine()$ ref = $ _SERVER ['HTTP_REFERER']; $ SE = array( '/ search?'、 'images.google。'、 'web.info.com'、 'search。'、 'del.icio.us/search'、 'soso.com'、 '/ search / '、' .yahoo。 '); foreach($ SEを$ sourceとして)if(strpos($ ref、$ source)!== false)はtrueを返します。 falseを返します。
$ SE
arrayは検索エンジンを指定する場所です。新しい要素を配列に追加して新しい検索エンジンを追加し、AdSense広告を表示するテンプレートの任意の場所に次のコードを貼り付けるだけで完了です。広告は検索エンジンの結果から訪問者にのみ表示されます.
if(function_exists( 'scratch99_fromasearchengine'))if(scratch99_fromasearchengine())ここにコードを挿入
[ソース:Scratch99、WpRecipes経由]
バックエンド
1.エディタでより多くのHTMLタグを許可する
デフォルトでは、WordPressエディタはXHTML 1.0規格に準拠していないHTMLタグを許可しません。しかしながら、以下に示すコードはエディタにもっと多くのタグを受け付けるよう強制します。テーマに貼り付けることができます functions.php ファイル、それを保存し、そして機能は行ってもいいです.
function fb_change_mce_options($ initArray)//タグで区切られたカンマ区切り文字列//拡張要素のコマンド区切り文字列$ ext = 'pre [id | name | class | style]、iframe [align | longdesc | name | width | height |フレームボーダー|スクロール|マージンハイト|マージン幅| src] '; if(isset($ initArray ['extended_valid_elements'])))$ initArray ['extended_valid_elements']。= '、'。 $ ext; else $ initArray ['extended_valid_elements'] = $ ext; // 多分;小さなパラメータを設定します。verify_html // $ initArray ['verify_html'] = false。 $ initArrayを返します。 add_filter( 'tiny_mce_before_init'、 'fb_change_mce_options');
[ソース:WPエンジニア]
2.デフォルトエディタを設定します
下記のスニペットはWordPress管理者のデフォルトエディタを変更します。あなたと一緒に行くことができます ビジュアルエディタ, またはあなたが選ぶことができます HTMLエディタ, それらの1つを functions.php ファイル.
#これはビジュアルエディタをデフォルトのadd_filter( 'wp_default_editor'、create_function( "、 'return" tinymce ";'))に設定します。#これはHTMLエディタをデフォルトのadd_filter( 'wp_default_editor'、create_function("、 'return "html)に設定します。 "; '));
[ソース:WPスニペット]
3.投稿タイプごとに異なるエディタスタイルシートを設定する
次のコードをあなたに貼り付けて functions.php ファイル、投稿タイプごとに異なるエディタスタイルシートを設定できます。投稿の種類に応じてそれを調整する必要があります。また、 スタイルシート名 同様に.
function my_editor_style()global $ current_screen; switch($ current_screen-> post_type)case 'post':add_editor_style( 'editor-style-post.css');ブレーク; case 'page':add_editor_style( 'editor-style-page.css');ブレーク; case 'portfolio':add_editor_style( 'editor-style-portfolio.css');ブレーク; add_action( 'admin_head'、 'my_editor_style');
[ソース:WPStorm]
4.より多くの種類のファイルのアップロードを許可する
特定の理由で、WordPressアップローダーはあなたがTextmateのような特定のファイルタイプをアップロードさせないでしょう .tmコマンド. あなたがWordPressサイトにこれらの種類のファイルをアップロードする必要があるならば、ここにあなたがそれをすることを可能にする機能的な断片が来ます、そしてあなたはそれをあなたの中に貼り付ける必要があるだけです。 functions.php ファイル。 4行目にパイプ(|)で区切って追加することで、さらにファイルタイプを追加することもできます。.
「アプリケーション/オクテットストリーム」))。 $ mimesを返します。 add_filter( 'upload_mimes'、 'addUploadMimes');
[ソース:pioupioum.fr、WpRecipes経由]
5.投稿the_excerpt用にTinyMCEエディタを有効にする
次のスニペットを functions.php あなたのWordPressテーマのファイルはポスト抜粋のtextareaにTinyMCEエディタを追加します.
関数tinymce_excerpt_js()?>[源:WpSnipp]
6.投稿フォーマット - テーマのためのもっとクリエイティブな方法
以下の構文は、記事で直接選択して使用できる可能な投稿フォーマットのいくつかを示しています。あなたがする必要があるのは、自分のコードにコードを入れることです。 functions.php あなたのテーマのファイル.
add_theme_support( 'ポストフォーマット'、配列( 'aside'、 'audio'、 'image'、 'video'));[ソース:WPエンジニア]
7.投稿の編集およびページの概要にも投稿のサムネイルを表示
WordPressバージョン2.9ではPost Thumbnailの機能が導入されました。それは非常に素晴らしいです、そして投稿のサムネールをEdit PostとPage Overviewにも表示するには、以下のコードをPluginに入れるか、またはにコピーしてください。 functions.php テーマのファイル.
if(!function_exists( 'fb_AddThumbColumn')&& function_exists( 'add_theme_support'))//投稿とページの場合add_theme_support( '投稿のサムネイル'、配列( 'post'、 'page')); function fb_AddThumbColumn($ cols)$ cols ['サムネール'] = __( 'サムネール'); $ colsを返します。 function fb_AddThumbValue($ column_name、$ post_id)$ width =(int)35; $ height =(int)35; if( 'thumbnail' == $ column_name)// WP 2.9のサムネイル$ thumbnail_id = get_post_meta($ post_id、 '_thumbnail_id'、true); //ギャラリーからの画像$ attachments = get_children(array( 'post_parent' => $ post_id、 'post_type' => 'attachment'、 'post_mime_type' => 'image')); if($ thumbnail_id)$ thumb = wp_get_attachment_image($ thumbnail_id、配列($ width、$ height)、true); elseif($ attachments)foreach($ attachment_ as $ attachment_id => $ attachment)$ thumb = wp_get_attachment_image($ attachment_id、配列($ width、$ height)、true); if(isset($ thumb)&& $ thumb)echo $ thumb; else echo __( 'None'); add_filter( 'manage_posts_columns'、 'fb_AddThumbColumn'); add_action( 'manage_posts_custom_column'、 'fb_AddThumbValue'、10、2); //ページの場合add_filter( 'manage_pages_columns'、 'fb_AddThumbColumn'); add_action( 'manage_pages_custom_column'、 'fb_AddThumbValue'、10、2);[ソース:WPエンジニア]
8. adminにカスタム投稿ステータスメッセージを作成する
この調整はもともと開発者が作成した投稿ごとにクライアントがカスタムメッセージを表示する方法として開発者によって書かれました。この場合、投稿は以下のようなメッセージを持つことができます。 拒否されました, エラー, ソース, 最後の, コードのコメントのすぐ下のメッセージを変更することができます。, カスタムステータスメッセージの配列, 変更したことを確認するためだけに クラス名 また、コメントの後にそれらを変更することができます, 下のメッセージの色を変更.
add_filter( 'display_post_states'、 'custom_post_state'); function custom_post_state($ states)グローバル$ポスト。 $ show_custom_state = get_post_meta($ post-> ID、 '_status'); if($ show_custom_state)$ states [] = __( ''。 $ show_custom_state [0] ';) $ Statesを返します。 add_action( 'post_submitbox_misc_actions'、 'custom_status_metabox'); function custom_status_metabox()global $ post; $ custom = get_post_custom($ post-> ID); $ status = $ custom ["_ status"] [0]; $ i = 0; / * ----------------------------------- * / / *カスタムステータスメッセージの配列* / / * ----------------------------------- * / $ custom_status = array( 'スペルチェック'、 'レビュー'、 'エラー'、 'ソース'、 '拒否'、 '最終'、);エコー '';エコー '';エコー ''; add_action( 'save_post'、 'save_status'); function save_status()グローバル$ポスト; if(defined( 'DOING_AUTOSAVE')&& DOING_AUTOSAVE)return $ post-> ID; update_post_meta($ post-> ID、 "_status"、$ _POST ["status"]); add_action( 'admin_head'、 'status_css'); function status_css()echo '';[源:WpSnipp]
9.投稿タイトルの最大長を設定する
このPHPコードを functions.php あなたのWordPressテーマのファイルはあなたの投稿のタイトル内に表示できる単語の最大数を設定します、かなり便利な調整!
function maxWord($ title)グローバル$投稿; $ title = $ post-> post_title; if(str_word_count($ title)> = 10)//これを最大単語数に設定するwp_die(__( 'エラー:あなたの投稿のタイトルは最大単語数を超えています。')); add_action( 'publish_post'、 'maxWord');[源:WpSnipp]
10. WordPressエディタのフォントを変更するには
WordPressエディタで現在使用されているフォントが嫌いですか?モナコやコンソラスなどの現代的なフォントに変更することは可能で、コードをあなたのWordPressテーマの中に貼り付けるだけです。 functions.php ファイル.
関数change_editor_font()echo ""; add_action(" admin_print_styles "、" change_editor_font ");[ソース:shailan.com、WpRecipes経由]
11.投稿/ページ発行時にカスタムフィールドを自動的に追加する
カスタムフィールドをページまたは投稿時に自動的にインストールするためのコードスニペット。以下のコードを自分のコードに追加するだけです。 functions.php テーマのフォルダ内にあるファイル。もちろん、を変更することを忘れないでください カスタムフィールド名.
add_action( 'publish_page'、 'add_custom_field_automatically'); add_action( 'publish_post'、 'add_custom_field_automatically'); function add_custom_field_automatically($ post_ID)グローバル$ wpdb; if(!wp_is_post_revision($ post_ID))add_post_meta($ post_ID、 'フィールド名'、 'カスタム値'、true);[源:wpCanyon]
未使用の投稿リビジョンを取り除く
これは非常に便利なSQLクエリで、全ての投稿のリビジョンを即座に削除し、それに関連するメタも削除します。あなたのWordPressデータベースで以下のクエリを実行しなければなりません、そしてそれに関連するメタと同様に全てのリビジョンはあなたのデータベースから削除されます。ここで重要な注意点が1つあります。コードを実行する前に、必ずデータベースのバックアップを作成してください。.
a、b、cを削除します。wp_postsからWHERE a.post_type = 'revision' wp_term_relationships左(a.ID = b.object_id)左wp_postmeta cオン(a.ID = c.post_id);[源:Lesterchan.net]
13.カテゴリに応じて抜粋の長さを変更する
今までのカテゴリに基づいて抜粋の長さを変更したいと思ったことはありませんか。これがあなたの願いを叶えるコードです。あなたのコードを貼り付けるだけです。 functions.php ファイルを変更することを忘れないでください。 カテゴリID 3行目!
add_filter( 'excerpt_length'、 'my_excerpt_length');関数my_excerpt_length($ length)if(in_category(14))return 13; else 60を返す。[源:WpRecipes]
14.投稿の自動保存を無効にする
何らかの重大な理由で、ダッシュボードで投稿を編集中に投稿を自動保存する機能を無効にしたい場合は、可能です。単にあなたの functions.php 次のコードをファイルに貼り付けて貼り付けます。
function disableAutoSave()wp_deregister_script( 'autosave'); add_action( 'wp_print_scripts'、 'disableAutoSave');[源:WpRecipes]
あなたはそれからファイルを保存することができます、そして、WordPressは決してポストを自動保存しません。コードを削除して関数を元に戻すこともできます.
もっと
もっとWordPressのカスタマイズ機能をお探しですか?私たちはあなたのためにもっと持っています!
- ワードプレス:30便利なトリックとハック
- ワードプレス:30以上のトリックとハック
- ワードプレス:40トリックとハック