HTML,CSS,PHP,ワードプレスカスタマイズ 技術情報資料

ワードプレスのメニュー項目一覧を取り出したい。

スポンサーリンク

ワードプレスのメニュー項目を取り出したいという場面は、あまりでくわしません、メニューをカスタマイズしたいのなら、通常は wp nav menu でカスタマイズしてあげたり、WPのプラグイン MaxMegaMenu などでカスタマイズしてあげればおしまいです。

ですが、ワードプレスのメニュー項目を取り出したいという場面は、たま~に、メニュー項目をメニュー項目としてではない使い方をしたくなる時があります。

ということで、メニュー項目の取り出し方を調べたのですが、どうも回りくどいものが多く難儀しました。

四の五の言いません。こんな感じで抜き出します。

$menu_name = ‘Menu1’;
$menu_obj = wp_get_nav_menu_object($menu_name); //メニューID,メニュースラッグ,メニュー名どれでもOK
// $menu_obj に 指定したメニュー項目の情報を取り出されている。

$menu_items = wp_get_nav_menu_items($menu_obj->term_id);
foreach ( (array) $menu_items as $key => $menu_item ) {
// $menu_item に 指定したメニュー項目の情報を取り出されている。
}


実際にメニュー項目の取り出せるものの一覧を出力するモジュール



$menu_name = ‘Menu1’;
$menu_obj = wp_get_nav_menu_object($menu_name); //メニューID,メニュースラッグ,メニュー名どれでもOK

echo ‘– wp_get_nav_menu_object –‘;
echo ‘term_id=’.$menu_obj->term_id.”;
echo ‘name=’.$menu_obj->name.”;
echo ‘slug=’.$menu_obj->slug.”;
echo ‘term_group=’.$menu_obj->term_group.”;
echo ‘term_taxonomy_id=’.$menu_obj->term_taxonomy_id.”;
echo ‘taxonomy=’.$menu_obj->taxonomy.”;
echo ‘description=’.$menu_obj->description.”;
echo ‘parent=’.$menu_obj->parent.”;
echo ‘count=’.$menu_obj->count.”;

$menu_items = wp_get_nav_menu_items($menu_obj->term_id);
foreach ( (array) $menu_items as $key => $menu_item ) {
echo ‘– menu item –‘;
echo ‘ID=’.$menu_item->ID.”;
echo ‘post_title=’.$menu_item->post_title.”;
echo ‘menu_item_parent=’.$menu_item->menu_item_parent.”;

echo ‘post_author=’.$menu_item->post_author.”;
echo ‘post_date=’.$menu_item->post_date.”;
echo ‘post_date_gmt=’.$menu_item->post_date_gmt.”;
echo ‘post_content=’.$menu_item->post_content.”;
echo ‘post_excerpt=’.$menu_item->post_excerpt.”;
echo ‘post_status=’.$menu_item->post_status.”;
echo ‘comment_status=’.$menu_item->comment_status.”;
echo ‘ping_status=’.$menu_item->ping_status.”;
echo ‘post_password=’.$menu_item->post_password.”;
echo ‘post_name=’.$menu_item->post_name.”;
echo ‘to_ping=’.$menu_item->to_ping.”;
echo ‘pinged=’.$menu_item->pinged.”;
echo ‘post_modified=’.$menu_item->post_modified.”;
echo ‘post_modified_gmt=’.$menu_item->post_modified_gmt.”;
echo ‘post_content_filtered=’.$menu_item->post_content_filtered.”;
echo ‘post_parent=’.$menu_item->post_parent.”;
echo ‘guid=’.$menu_item->guid.”;
echo ‘menu_order=’.$menu_item->menu_order.”;
echo ‘post_type=’.$menu_item->post_type.”;
echo ‘post_mime_type=’.$menu_item->post_mime_type.”;
echo ‘comment_count=’.$menu_item->comment_count.”;
echo ‘filter=’.$menu_item->filter.”;
echo ‘format_content=’.$menu_item->format_content.”;
echo ‘db_id=’.$menu_item->db_id.”;
echo ‘object_id=’.$menu_item->object_id.”;
echo ‘object=’.$menu_item->object.”;
echo ‘type=’.$menu_item->type.”;
echo ‘type_label=’.$menu_item->type_label.”;
echo ‘url=’.$menu_item->url.”;
echo ‘title=’.$menu_item->title.”;
echo ‘target=’.$menu_item->target.”;
echo ‘attr_title=’.$menu_item->attr_title.”;
echo ‘description=’.$menu_item->description.”;

// リンクを作るならこんな感じでためていけばいい
// もちろん階層型メニューの場合は、menu_item_parent を参照してネストを構成しないといけないけどね。
$title = $menu_item->title;
$url = $menu_item->url;
$menu_list .= ‘<li><a href="’ . $url . ‘">’ . $title . ‘</a></li>’;
}

スポンサーリンク

スポンサーリンク

よく使うタグ

・float クリア
<br clear="all"><div style="clear:both;" class="clearfix"></div>
・角丸め
round-radius
border-radius:5px; -webkit-border-radius:10px; -moz-border-radius:10px;
・div box
overflow:scroll;min-width:300px;max-width:300px;min-height:300px;max-height:300px;
・TEXTAREAリサイズ
resize: vertical;
・サイトURL
home_url() // http://…
if(site_url()==home_url){
$shorturl_yuzu_path = substr(ABSPATH,0,strpos( ABSPATH, substr(site_url(),strlen(home_url()) ) ) ).’/’;
}else{
$shorturl_yuzu_path = ABSPATH.’/’;
}
// /var/…
・WP HOME URL
site_url() // http://…/wp
ABSPATH // /var/…/wp
・プラグイン(自分のDIR追加必要)
plugins_url() // http://…/plugins
WP_PLUGIN_URL // http://…/plugins
WP_PLUGIN_DIR // /var/…/plugins
・使用中のテーマ
get_template_directory_uri() // http://…/theme/xx
get_template_directory() // /var/…/theme/xx
・wp-content
content_url() // http://…/wp-content
WP_CONTENT_DIR // /var/…/wp-content
・画像URLからDIR変換
$pctdir=str_replace(content_url(), WP_CONTENT_DIR,$pcturl);
・パス名分解
$pathData = pathinfo($file);
echo $pathData["dirname"]; // /var/~
echo $pathData["filename"]; // xxx
echo $pathData["extension"]; // txt
echo $pathData["basename"]; // xxx.txt
・画像サイズ
list($width,$height) = getimagesize($url);
if(has_post_thumbnail()){
$thumbnail_id = get_post_thumbnail_id();
$thumbnail_img = wp_get_attachment_image_src( $thumbnail_id , ‘full’ );
$src = $image[0]; //url
$width = $image[1]; //横幅
$height = $image[2]; //高さ
・画像サイズ比率
list($src_w,$src_h) = getimagesize($file);
$dst_w = 600;$dst_h = 0;
$dst_h = ($dst_w!=0)?(intval(($src_h*$dst_w)/$src_w )):(($dst_h!=0)?(intval(($src_w*$dst_h)/$src_h)):0);
・疑似要素順
link visited hover active


特殊文字
シングルクォート : &#39;
ダブルクォート : &quot;
WP設定内表示前処理(htmlタグ許可項目)
$str = str_replace(‘<','&lt;' ,$str);
$str = str_replace(‘>’,’&gt;’ ,$str);
$str = str_replace(‘\”‘,’&quot;’,$str);
$str = str_replace(“\'”,’&#39;’ ,$str);
WO設定項目表示前処理(htmlタグ許可項目)
$str = str_replace(‘\”‘,'”‘,$str);
$str = str_replace(“\'”,”‘”,$str);
・テーマ
get_theme_root_uri()
get_theme_root()
・WP 情報
get_bloginfo( $show )
・Wp config FTP 情報 設置
define( ‘FTP_HOST’, ‘host’ );
define( ‘FTP_USER’, ‘id’ );
define( ‘FTP_PASS’, ‘pw’ );
define( ‘FTP_SSL’, false );
弾に使う
placeholder:ユーザー入力補助

カテゴリー

カラフルボックスなど cpanel サーバーでPerlでMySQLにアクセスできないときの対策

カラフルボックスなど cpanel サーバーでPerlでMySQLにアクセスできないときの対策 カラフルボックスでPerlでMySQLにアクセスできないときの対策カラフルボックスでPerlでMySQLにアクセスできない!エラーメッセージは、mysql のドライバーがない。こんなメッセージが返って

MW WP FORM のフックが効かない。

MW WP FORM のフックが効かない。 MW WP FORM のフックが効かない。MW WP FORM は、各種フックがあってカスタマイズが便利~とか言われているプラグインですが。。。マニュアルにはあるのにフックが効かないフックがかなりある

MW WP FORM のショートコードで出力される内容をカスタマイズする。

MW WP FORM のショートコードで出力される内容をカスタマイズする。 MW WP FORM のショートコードで出力される内容をカスタマイズしたくなりました。非表示フィールド type=”hidden” にデータをためておいて、それをメール送信する

WelCart 買い物かごのカスタマイズ、テンプレートファイルの場所

WelCart 買い物かごのカスタマイズ、テンプレートファイルの場所 WelCart 買い物かごのカスタマイズするとき、毎回テンプレートファイルを探すのでメモしておきます。WelCart 買い物かごのカスタマイズ、テンプレートファイルの場所WelCart 買い物かごのカ

WelCart で投稿ページに商品購入欄を作る

WelCart で投稿ページに商品購入欄を作る WelCart の商品ページは、ご存知んごとくウルトラダサい。これをカスタマイズしないとなんとも素人っぽさの抜けないサイトになってしまう。WelCart で投稿ページに商品購入欄を作るときのモジュール

FB 広告 最適化~グーグルアナリティクスとサーチコンソールの連動のさせかた(必要な分だけ)

FB 広告 最適化~グーグルアナリティクスとサーチコンソールの連動のさせかた(必要な分だけ) FB 広告 最適化にあたって必要になってくるツールがグーグルアナリティクスとサーチコンソール。別にグーグルのアナリティクス、サーチコンソールでなくてもアクセス解析はできるんだけど、グーグルはユーザー囲