ワードプレスの投稿として「ジョブ」を作成する wp ジョブ マネージャーと呼ばれるプラグインを使用しています。ユーザーが持つことができるジョブの数を 1 つに制限しており、ナビゲーション メニューにジョブへの直接リンクを追加したいと考えています。
ジョブの投稿 ID を使用して動的に生成される編集リンクも追加したいと思います。ユーザーが投稿できるのは 1 つだけであるように見えるので、これは実行可能だと思います。
編集: 現在ログインしているユーザーの単一の投稿へのリンクを取得してメニューに追加できれば、投稿自体に編集リンクを追加できると思います。
編集ジョブの URL は、このように (ループで) 動的に作成されます。
<?php foreach ( $jobs as $job ) : ?>
<tr>
<td class="actions">
<ul class="job-dashboard-actions">
<?php
$actions = array();
switch ( $job->post_status ) {
case 'publish' :
$actions['edit'] = array( 'label' => __( 'Edit', 'wp-job-manager' ), 'nonce' => false );
break;
}
$actions = apply_filters( 'job_manager_my_job_actions', $actions, $job );
foreach ( $actions as $action => $value ) {
$action_url = add_query_arg( array( 'action' => $action, 'job_id' => $job->ID, ) , 'http://www.mywebsite./edit-my-profile/' );
if ( $value['nonce'] ) {
$action_url = wp_nonce_url( $action_url, 'job_manager_my_job_actions' );
}
echo '
<li><a href="' . esc_url( $action_url ) . '" class="job-dashboard-action-' . esc_attr( $action ) . '">' . esc_html( $value['label'] ) . '</a></li>
';
}
このhttp://www.mywebsite.com/edit-my-profile/?action=edit&job_id= IDのようなリンクが生成されたので、現在の作成者の投稿 ID を取得してこの URL に追加してから追加しようとした場合メニューに追加しましたが、投稿ループの外で現在ログインしているユーザーの投稿IDを取得する方法が見つからないようです。
代わりに、グローバル $actionurl 変数を使用して、この関数を使用してメニューに追加しようとしましたが、メニューが壊れるだけです。
function username_nav($action_url) {
return $menu = str_replace('editprofile', $action_url, $menu);
}
add_filter( 'wp_nav_menu', 'username_nav' );
助言がありますか?前もって感謝します!