Я использую плагин, называемый wp job manager, который создает «задания» как сообщения WordPress. Я ограничиваю количество заданий, которые пользователь может иметь одному, и хотел бы добавить прямую ссылку на свою работу в меню навигации.
Я также хотел бы добавить ссылку редактирования, которая динамически генерируется с использованием идентификатора сообщения задания. Увидев, что у пользователей будет только один пост, я считаю, что это невозможно.
Изменить: если я могу даже получить ссылку на единственную запись текущего пользователя и добавить его в меню, я считаю, что могу добавить ссылку редактирования внутри самой записи.
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, поэтому, если вы попытались получить идентификатор сообщения текущего автора и добавить его к этому URL-адресу, а затем добавить это в меню, но я не могу найти способ получить идентификатор сообщения текущего пользователя вне цикла post.
Поэтому вместо этого я попытался использовать глобальную переменную $ actionurl и добавить ее в меню с помощью этой функции, но она просто нарушает меню.
function username_nav($action_url) { return $menu = str_replace('editprofile', $action_url, $menu); } add_filter( 'wp_nav_menu', 'username_nav' );
Какие-либо предложения? Заранее спасибо!