質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1591閲覧

[PHP][WordPress]aタグを変更したい

KanPiko

総合スコア15

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/05/27 17:31

前提・実現したいこと

別のソースコード "echo $show_link ? '<a href="' . get_permalink( $post->ID ) . '">' : '';"
を該当のソースコードのrow-actionsのclassで変更したい思っていたのですが、

<?php echo wp_kses( $row_actions, $row_actions_kses ); ?>となっており、aタグが見つかりませんでした。

これはどのように記述されているのでしょうか?phpに関してほとんど知識がないので情報不足な部分が多いと思いますが、ご教授いただけると幸いです。

別のソースコード

php

1<td> 2 <?php 3   echo $show_link ? '<a href="' . get_permalink( $post->ID ) . '">' : ''; 4   if ( has_post_thumbnail() ) { 5   the_post_thumbnail( $featured_img_size ); 6    } else { 7     printf( '<img src="%1$s" class="attachment-thumbnail wp-post-image" alt="%2$s" title="%2$s" />', 8      apply_filters( 'wpuf_no_image', plugins_url( '/assets/images/no-image.png', dirname( __FILE__ ) ) ), 9      __( 'No Image', 'wp-user-frontend' ) ); 10 } 11    echo $show_link ? '</a>' : ''; 12 ?> 13</td>

該当のソースコード

php

1 $row_actions_kses = apply_filters( 'dokan_row_actions_kses', array( 2 'span' => array( 3 'class' => array(), 4 ), 5 'a' => array( 6 'href' => array(), 7 'onclick' => array(), 8 ), 9 ) ); 10 <td data-title="<?php esc_attr_e( 'Name', 'dokan-lite' ); ?>"><!--名前の列--> 11 <?php if ( current_user_can( 'dokan_edit_product' ) ): ?> 12 <p><a href="<?php echo esc_url( dokan_edit_product_url( $post->ID ) ); ?>"><?php echo esc_html( $product->get_title() ); ?></a></p><!--タイトル--> 13 <?php else: ?> 14 <p><a href=""><?php echo esc_html( $product->get_title() ); ?></a></p> 15 <?php endif ?> 16 17 <?php if ( !empty( $row_actions ) ): ?> 18 <div class="row-actions"> 19 <?php echo wp_kses( $row_actions, $row_actions_kses ); ?> 20 </div> 21 <?php endif ?> 22 </td>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

新規回答

`<div class="row-actions">

<?php echo wp_kses( $row_actions, $row_actions_kses ); ?> </div>` での処理を日本語訳すると、row-actions=(多数)行のアクション、echoの出力内容は「配列」。

そして出力結果が

HTML

1<span class="edit"><a href="https://www…">edit</a></span> | <span class="delete"> 2<a href="https://www…">Delete Permanently</a></span> | <span class="view"> 3<a href="https://www…">View</a></span> | <span class="item-inline-edit"> 4<a href="#quick-edit">Quick Edit</a></span>

KanPikoさんが変更したいeditは配列要素の1番目、変更できるかは不明ですが、
できるとしたら変更するべき場所は該当ソースの

PHP

1$row_actions_kses = apply_filters( 'dokan_row_actions_kses', array( 2 'span' => array( 3 'class' => array(), 4 ), 5 'a' => array( 6 'href' => array(), 7 'onclick' => array(), 8 ), 9 ) );

例えばdokan_row_actions_ksesがカスタムフィールド($fild)なら、
hrefはキー($key)で、中身のhttp://~は値($value)。
配列の処理をやめて、繰り返し処理(while)で配列の1番目[0]~N番目[n-1]を一個ずつ出力。
分岐(if)条件としてhrefの1番目を出力するときだけ中身をget_permalink( $post->ID )とし、
その他(else)は通常処理で出力する。

残念ながらコードは提供できません、多少読めるけど全然書けないんです(^^;)

投稿2019/06/03 14:35

編集2019/06/07 15:13
kinrinkaryu

総合スコア40

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KanPiko

2019/06/13 04:42

ご回答ありがとうございます。 参考にさせていただきました。
guest

0

何を言いたいのかイマイチわかりませんがecho $show_link ? '<a href="' . get_permalink( $post->ID ) . '">' : '';のhrefの前にclassを指定すれば良いのでは?

投稿2019/05/28 00:43

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KanPiko

2019/05/28 05:17 編集

ご回答ありがとうございます。 説明不足でした。すみません。 変更したい該当のソースコードでは <div class="row-actions"> <?php echo wp_kses( $row_actions, $row_actions_kses ); ?> </div> というように書かれていますが、実際にGoogleの検証で確認すると <div class="row-actions"> <span class="edit"><a href="https://www…">edit</a></span> | <span class="delete"> <a href="https://www…">Delete Permanently</a></span> | <span class="view"> <a href="https://www…">View</a></span> | <span class="item-inline-edit"> <a href="#quick-edit">Quick Edit</a></span> </div> というコードで表示されていました。そこで、 <a href="https://www…">edit</a>のaタグを '<a href="' . get_permalink( $post->ID ) . '">'と変更したかったのですが、 <?php echo wp_kses( $row_actions, $row_actions_kses ); ?> だと、どのように変更すればいいのか分からず困っています。
退会済みユーザー

退会済みユーザー

2019/05/28 05:48

それでしたら 全部だったらCSSで.row-actions aとしたり 部分的に適用したいなら:th-childを使うのも手です。 いずれもHTMLを編集する必要性はないですが一部の場合で汎用性がなくなります。
退会済みユーザー

退会済みユーザー

2019/05/28 05:52

あとどこから呼び出されているのかというと一般的にはテーマディレクトリなどから呼び出されている場合が多いと思います。それがテーマによる記述なのだとしたらデスが
KanPiko

2019/05/28 14:10

ご回答ありがとうございます。 cssで変更を考えていたのですが、phpで動的にhrefのurlを取得しているのでできませんでした。 テーマではなくプラグインになります。 一つ一つチェックすることにします。
退会済みユーザー

退会済みユーザー

2019/05/29 03:56

プラグイン名を教えてください。
KanPiko

2019/05/29 04:39

ご回答ありがとうございます。 プラグイン名はDokan mutivendorになります。 pro版を使用していて、無料版で確認できるかどうか分かりませんがベンダーの登録ができればダッシュボードページで確認できます。 問題の箇所なんですが、VendorのDashboardページでProductsという商品管理が可能なページがあると思います。そのページの名前の項目にEdit|Delete Permanently|View|Quick Editがあります。そこのEditのaタグを編集したいと思っています。 お手数お掛け致しますがよろしくお願いします。
退会済みユーザー

退会済みユーザー

2019/05/29 04:52

一応、権利上良いか確認してからになりますが、 FTP接続できてますよね? そしたらwp > wp-content > pluginsに該当プラグイン名のようなフォルダはありませんか? そうしたらその中に入っているファイル名で該当しそうなものがあったら多分それが元です。
KanPiko

2019/05/29 06:56

ご回答ありがとうございます。 出来てます。質問日からFTP接続して該当しそうなものを探しているのですが、なかなか見つからなくて困ってます。
退会済みユーザー

退会済みユーザー

2019/05/29 13:07

ファイル名の一覧を質問文かここに載せていただけませんか?
KanPiko

2019/05/29 15:48

ご回答ありがとうございます。 不要な部分もあると思いますが、templates内のファイルになります。 templates\sub-orders.php templates\store.php templates\store-toc.php templates\store-lists.php templates\store-lists-loop.php templates\store-header.php templates\seller-search-form.php templates\my-orders.php templates\withdraw\withdraw.php templates\withdraw\status-listing.php templates\withdraw\request-form.php templates\withdraw\pending-request-listing.php templates\withdraw\header.php templates\withdraw\cancelled-request-listing.php templates\withdraw\approved-request-listing.php templates\widgets\widget-content-product.php templates\widgets\store-open-close.php templates\widgets\store-map.php templates\widgets\store-contact-form.php templates\settings\store.php templates\settings\store-form.php templates\settings\payment.php templates\settings\header.php templates\settings\address-form.php templates\products\tmpl-add-product-popup.php templates\products\products.php templates\products\products-listing.php templates\products\products-listing-row.php templates\products\others.php templates\products\new-product.php templates\products\new-product-single.php templates\products\listing-status-filter.php templates\products\listing-filter.php templates\products\inventory.php templates\products\downloadable.php templates\products\download-virtual.php templates\orders\orders.php templates\orders\orders-status-filter.php templates\orders\order-tax-html.php templates\orders\order-item-html.php templates\orders\order-fee-html.php templates\orders\order-download-permission-html.php templates\orders\listing.php templates\orders\downloadable.php \templates\orders\details.php templates\orders\date-export.php templates\login-form\login-form.php templates\login-form\login-form-popup.php templates\global\seller-warning.php templates\global\seller-registration-form.php templates\global\product-tab.php templates\global\no-permission.php templates\global\header-menu.php templates\global\dokan-warning.php templates\global\dokan-success.php templates\global\dokan-message.php templates\global\dokan-help.php templates\global\dokan-error.php templates\global\dashboard-nav.php templates\global\content-widget-products.php templates\emails\plain\withdraw-new.php templates\emails\plain\withdraw-cancel.php templates\emails\plain\withdraw-approve.php templates\emails\plain\product-published.php templates\emails\plain\new-seller-registered.php templates\emails\plain\new-product.php templates\emails\plain\new-product-pending.php templates\emails\plain\contact-seller.php templates\emails\withdraw-new.php templates\emails\withdraw-cancel.php templates\emails\withdraw-approve.php templates\emails\product-published.php templates\emails\new-seller-registered.php templates\emails\new-product.php templates\emails\new-product-pending.php templates\emails\contact-seller.php templates\dashboard\sales-chart-widget.php templates\dashboard\products-widget.php templates\dashboard\orders-widget.php templates\dashboard\edit-account.php templates\dashboard\dashboard.php templates\dashboard\big-counter-widget.php templates\account\vendor-registration.php
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問