Category : functions.php設定

functions.php設定, カスタム投稿タイプ, 管理画面ダッシュボード関連
0

デフォルト投稿postの本文フィールドを非表示にする

カスタム投稿タイプで本文入力項目のフィールド(editor)を表示させないのは簡単。
functions.phpへのカスタム投稿タイプ追加コードの

'supports' => array('title','editor', 'custom-fields','author','excerpt','comments'),

から、’editor’を指定しなければ非表示になる。

続きを読む
functions.php設定
0

wp_head不要コードを削除

WordPress(ワードプレス)のテーマを作成する際に必須となる<?php wp_head(); ?>
思わず丸ごと削除したくなりますが、これを省略してしまうと動かないプラグインがあったりと不都合が多いようです。
そうは言っても、
明らかに不要なソースも吐き出されているので、不要なモノは削除したいところ。

1、
<link rel=’prev’ title=’●’ href=’http~’ />
<link rel=’next’ title=’●’ href=’http~’ />
を削除する。

remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );

をfunctions.phpに追加記述!

【参考サイト】
てるてる坊主様の
てるてる坊主: wp_headから不要なコードを削除するより
find a way !様の
WordPressのwp_headで自動挿入されるlinkタグを削除する | WordPress | find a way !より

※追加していって下記にまとめ!

/*
 * 追加:wp_headの削除
 */
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
続きを読む
functions.php設定, ショートコード
0

外部ファイルを読み込むショートコード

他サーバーに設置している別ドメイン配下にあるファイル、いわゆる外部ファイルを読み込む為のショートコード。
やりたかった事は、
(クライアントごとに投稿ページを作成するとして)
・各投稿ページに「クライアントコード」というカスタムフィールドを作成。
・↑これに各クライアントを識別する文字列を入力しておく。
・他サーバーに、各クライアントコード(文字列)をファイル名(フォルダ名)としたPHPファイルを設置。
・各クライアントごと(各投稿ページごと)に、他サーバー設置された各専用のPHPファイルを呼び出す(インクルード)する。
これを簡単にショートコードとして設定して実現したい!

いろいろ探しまわってたら、ありました!!
かちびと. net様の
任意のファイルを読み込み、その場に実装するWordPressショートコード – かちびと. netより

function file_aid_func( $atts ) {
  extract( shortcode_atts( array(
    'file' => ''
  ), $atts ) );

  if ($file!='')
    return @file_get_contents('http://aaa.com/inc/' . $file. '/aid.php') ;
}
add_shortcode( 'file_aid', 'file_aid_func' );

を、functions.phpに追加して、ショートコード[file_aid file=”aid0016″]を投稿フィールド内に記述すれば、
http://aaa.com/inc/aid0016/aid.phpのファイルを読み込むことが出来る!
テンプレート内に記述する場合は、

<?php echo do_shortcode('[file_aid file="n0016"]'); ?>

だが、テンプレートに記述したら各投稿ページごと(各クライアントごと)にはならない。

そこで、
$fileにそのまま「クライアントコード」のカスタムフィールド値が入るようにコード改造してみた。

function file_aid_func() {
  $file = post_custom("クライアントコード");
  return @file_get_contents('http://aaa.com/inc/' . $file. '/aid.php') ;
}
add_shortcode( 'file_aid', 'file_aid_func' );

↑これをfunctions.phpへ、
そしてテンプレートに、

<?php echo do_shortcode('[file_aid]'); ?>

とすれば、
クライアントn0016(カスタムフィールド「クライアントコード」の値「n0016」)の場合には、http://aaa.com/inc/aid0016/aid.phpを呼び出し、
クライアントn0091(カスタムフィールド「クライアントコード」の値「n0091」)の場合には、http://aaa.com/inc/aid0091/aid.phpを呼び出すことが出来る!

めでたしめでたし….
あれ??
よ~く考えてみたら…下記のようにPHPインクルードすれば同じ結果が得られる!?

<?php
$file = post_custom("クライアントコード");
include('http://aaa.com/inc/' . $file. '/aid.php');
?>

とほほ。涙
アホでスミマセン。

ここにたどり着くまでさんざん苦労したので、自分用のメモに残してみました。

WordPress(ワードプレス)のショートコードを初めて使ってみましたが、使いこなせればかなり便利なようですネ。

続きを読む
functions.php設定, ウィジェット
0

ウィジェットのドロップダウン表示「カテゴリーを選択」を変更

ウィジェットの「カテゴリー」の設定で「ドロップダウン表示」にすると、
デフォルト表示は「カテゴリーを選択」となる。

サイト(ブログ)の内容によっては、
・地域を選択
・職種を選択
等々‥に変更したいところ。

そこで、
wordpress ウィジェット カテゴリー ドロップダウン表示 カテゴリーを選択 変更
と、ググってみたら、ありました!

hogehoge78様の回答、
wordpress カテゴリのドロップダウン | OKWaveより

function my_widget_categories_dropdown_args($cat_args){
$cat_args['show_option_none'] = 'ココを任意のテキストに変更';
return $cat_args;
}
add_filter('widget_categories_dropdown_args', 'my_widget_categories_dropdown_args');

任意のテキストに変更して、functions.phpにこれを追加するだけで簡単に変更出来ます。

感謝♪

続きを読む
functions.php設定, アーカイブページ, カスタム投稿タイプ
0

カスタム投稿タイプのアーカイブページ(一覧ページ)

カスタム投稿タイプとカスタム分類をプラグイン無で設定,表示でつくったカスタム投稿タイプの一覧リストを表示するページ(アーカイブページ)を作成する手順。

'show_ui' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => 2,
'has_archive' => true,
'supports' => array('title','editor', 'custom-fields','author','excerpt','comments'),
'taxonomies' => array('type','tokyo','nishi_tokyo','popkey')
);
register_post_type('shop',$args);

↑の、30行目がないとアーカイブ生成されず表示不可能なので、

'has_archive' => true,

を、必ず入れる。(これはWordPressの3.1から追加されて機能)

~~~~~~~~~~~~
最初試しに、http://ドメイン.com/shop/とやってみた時、404エラーにはならずページは存在していた。(もちろん投稿一覧は表示されていませんでしたが)
これは、
テンプレートの優先順位が

1、archive-●●●.php(今回の例だとarchive-shop.php)
2、archive.php
3、index.php

の為、archive.phpで表示されていた!ってことですネ。

VARL(ヴァール)様の
WordPress 3.1 から使う、カスタムポストタイプの設定から表示までのまとめ …的なもの – Website Tips ノート : VARL

Labor Of Love – Laughing Out Loud –様の
WordPressカスタム投稿タイプを使って商品紹介ページを作ったよ-part2 | Labor Of Love – Laughing Out Loud

続きを読む
functions.php設定
0

クイック編集を非表示にする

投稿一覧、固定ページ一覧、カスタム投稿タイプの記事一覧に必ず表示される「クイック編集」
便利なんだとは思うが、削除したくてやり方をググってみたら見つけました。
プラグイン利用はナシ!functions.phpにちょこっと追加記述するだけ。
Simple Colors様のWordPressの記事一覧でクイック編集メニューを非表示にする誰得コード2 | Simple Colorsに記載されている下記コードで見事非表示に出来ました。

function hide_inline_edit_link() {
?>
<style type="text/css">
span.inline {
    display: none;
}
</style>
<?php
}
add_action( 'admin_print_styles-edit.php', 'hide_inline_edit_link' );

※このままfunctions.phpの最下部「~~?>」のすぐ上に追加するのが解りやすい◎
感謝!!

続きを読む
functions.php設定, カスタム分類, カスタム投稿タイプ
0

カスタム投稿タイプとカスタム分類をプラグイン無で設定,表示

この記事もまだ、途中です….

同じような記事を何度か書いているが、
WordPress初心者の自分なりに試行錯誤した結果、PHPの勉強にもなるし基本はなるべくプラグインに頼らない!にこだわっていくことに決定。(挫折しそうですが…)
なので、
「カスタム投稿タイプ」と「カスタム分類」の自分なりのまとめ的なメモ。

まず、
946696 WordPressのテーマ内functions.phpが長くなりがちなので、functionsフォルダにファイルを分割して置くとき書いとくと便利 – gistlogを参考にして、
/wp-content/themes/適用しているテーマのフォルダ/
に、「functions」というフォルダを作り、
この中に「custom-post-taxonomy.php」を作成。
これを「カスタム投稿タイプ」「カスタム分類」に関する設定を記述する専用ファイルとした上で、functions.phpで読み込ませる為に下記をfunctions.phpに記述。

/*
 * functionsフォルダにあるファイルをすべて読み込む
 */
foreach(glob(TEMPLATEPATH."/functions/*.php") as $file){
	require_once $file;
}

※なるほど!こんな方法があったんですね。どんどん長く解りにづらくなってしまうfunctions.phpへの追加記述もこれならスッキリ!!

そして、
yusk -ユースク- | always as a designer様のカスタム投稿タイプとカスタムタクソノミーをプラグインを使わずに実現するという記事を参考にさせて頂いております。
かちびと.net様のWordPressのカスタム投稿(ポスト)タイプを作成するまでの手順リスト – かちびと. net
を、参考にさせて頂き「カスタム投稿タイプ」「カスタム分類」専用の/functions/custom-post-taxonomy.phpへ下記を記述。

<?php
// カスタム投稿タイプを作成
// 店舗投稿タイプ
function night_custom_post_type()
{

$labels = array(
'name' => _x('店舗情報', 'post type general name'),
'singular_name' => _x('店舗情報', 'post type singular name'),
'add_new' => _x('店舗情報を追加', 'night'),
'add_new_item' => __('新しい店舗情報を追加'),
'edit_item' => __('店舗情報を編集'),
'new_item' => __('新しい店舗情報'),
'view_item' => __('店舗情報を編集'),
'search_items' => __('店舗情報を探す'),
'not_found' => __('店舗情報はありません'),
'not_found_in_trash' => __('ゴミ箱に店舗情報はありません'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => 2,
'has_archive' => true,
'supports' => array('title','editor', 'custom-fields','author','excerpt','comments'),
'taxonomies' => array('type','tokyo','nishi_tokyo','popkey')
);
register_post_type('night',$args);

// カスタム分類を作成

//タイプ
$args = array(
'label' => 'タイプ',
'public' => true,
'show_ui' => true,
'hierarchical' => true
);
register_taxonomy('type','night',$args);

//東京23区
$args = array(
'label' => 'エリア東京',
'public' => true,
'show_ui' => true,
'hierarchical' => true
);
register_taxonomy('tokyo','night',$args);

//西東京
$args = array(
'label' => 'エリア西東京',
'public' => true,
'show_ui' => true,
'hierarchical' => true
);
register_taxonomy('nishi_tokyo','night',$args);

//タグタイプ
$args = array(
'label' => '注目キーワード',
'public' => true,
'show_ui' => true,
'hierarchical' => false
);
register_taxonomy('popkey','night',$args);
}

add_action('init', 'night_custom_post_type');
?>

~~~~~
【カスタム投稿タイプに権限を】
The blog of H.Fujimoto様の
WordPress 3.0のカスタム投稿タイプ機能(その2) – The blog of H.Fujimoto内、
「2-8.capability_type」に記載してある!

【カスタム分類に権限を】
The blog of H.Fujimoto様の
register_taxonomy関数の書き方 – The blog of H.Fujimoto内、
「2-9.capabilities」に軽く記載してある!

The blog of H.Fujimoto様にはMTを使っているころより、このブログ&書籍などお世話になりまくりです。

続きを読む