Title: Expose entry IDs
Last modified: February 4, 2019

---

# Expose entry IDs

 *  Resolved [Babak Fakhamzadeh](https://wordpress.org/support/users/mastababa/)
 * (@mastababa)
 * [7 years, 3 months ago](https://wordpress.org/support/topic/expose-entry-ids/)
 * Can you expose individual entry IDs in the list of terms when looking at a directory
   in the WordPress backend.
 * Then, making the individual IDs of individual terms obvious, it would be possible
   to add a shortcode to embed individual terms in any location on the website.
   
   Something like:
 * [name_directory_name id=”100″]

Viewing 8 replies - 1 through 8 (of 8 total)

 *  Thread Starter [Babak Fakhamzadeh](https://wordpress.org/support/users/mastababa/)
 * (@mastababa)
 * [7 years, 3 months ago](https://wordpress.org/support/topic/expose-entry-ids/#post-11166210)
 * Oh, that’s nice. I’m actually marked as ‘Plugin contributor’. 🙂
 *  Plugin Author [Jeroen Peters](https://wordpress.org/support/users/jeroenpeters1986/)
 * (@jeroenpeters1986)
 * [7 years, 2 months ago](https://wordpress.org/support/topic/expose-entry-ids/#post-11208080)
 * Yes, you are 🙂
 * I can expose the ID for this. It’s not something that would be close to my usergroup,
   but having that extra shortcode doesn’t hurt 🙂
 * As always, I don’t know when it will be ready, but I’ll work on it.
 * Thanks again.
 * Kind regards, Jeroen Peters
 *  Thread Starter [Babak Fakhamzadeh](https://wordpress.org/support/users/mastababa/)
 * (@mastababa)
 * [7 years, 2 months ago](https://wordpress.org/support/topic/expose-entry-ids/#post-11218482)
 * Here’s the code for the table listing the names in a directory:
 *     ```
           <table class="wp-list-table widefat name_directory_names fixed" cellpadding="0">
               <thead>
               <tr>
       	        <th width="5%"><?php echo __('ID', 'name-directory'); ?></th>
                   <th width="5%"><?php echo __('Name', 'name-directory'); ?></th>
                   <th width=""><?php echo __('Description', 'name-directory'); ?></th>
                   <th width="5%"><?php echo __('Submitter', 'name-directory'); ?></th>
                   <th width="10%"><?php echo __('Published', 'name-directory'); ?></th>
                   <th width="10%"><?php echo __('Manage', 'name-directory'); ?></th>
               </tr>
               </thead>
               <tbody>
               <?php
               if(empty($name))
               {
                   echo sprintf("<tr class='empty-directory'><td colspan='5'>%s</td></tr>",
                       __('Currently, there are no names in this directory..', 'name-directory'));
               }
   
               foreach($names as $name)
               {
                   if(is_array($name))
                   {
                       $name = (object)$name;
                   }
   
                   echo sprintf("
                   <tr>
                       <td>%s</td><td>%s</td><td>%s</td><td>%s</td><td><span title='%s' class='toggle_published' id='nid_%d' data-nameid='%d'>%s</span></td>
                       <td><a class='button button-primary button-small' href='" . $wp_url_path . "&edit_name=%d#anchor_add_form'>%s</a>
                           <a class='button button-small' href='" . $wp_url_path . "&delete_name=%d'>%s</a>
                       </td>
                   </tr>",
                   	$name->id,
                       $name->name, html_entity_decode(stripslashes($name->description)), $name->submitted_by,
                       __('Toggle published status', 'name-directory'), $name->id,
                       $name->id, name_directory_yesno($name->published),
                       $name->id, __('Edit', 'name-directory'),
                       $name->id, __('Delete', 'name-directory'));
               }
               ?>
               </tbody>
           </table>
       ```
   
 * Here’s the function picking up one name by id:
 *     ```
       function name_directory_get_name($id)
       {
           global $wpdb;
           global $name_directory_table_directory_name;
   
       	$id = (int)$id;
   
           $names = $wpdb->get_results(sprintf("
       		SELECT *
       		FROM %s
       		WHERE <code>id</code> = $id",
               ARRAY_A
           );
   
           return $names;
       }
       ```
   
 * And here’s the shortcode:
 *     ```
       function name_directory_show_name($attributes) {
   
           $dir = null;
           extract(shortcode_atts(
               array('id' => '0'),
               $attributes
           ));
   
           $names = name_directory_get_name($attributes["id"]);
   
           if (count($names) > 0) {
       	    $entry = (array)$names[0];
       	    $directory = name_directory_get_directory_properties($entry["directory"]);
   
               ob_start();
   
               echo '<div class="name_directory_name">';
               echo '<div class="name_directory_name_box">';
               echo '<a name="namedirectory_' . sanitize_html_class($entry['name']) . '"></a>';
               echo '<strong>' . htmlspecialchars($entry['name']) . '</strong>';
               if(! empty($directory['show_description']) && ! empty($entry['description']))
               {
                   $print_description = html_entity_decode(stripslashes($entry['description']));
   
                   /* This toggles the read more/less indicators, these need extra html */
                   if(! empty($directory['nr_words_description']))
                   {
                       $num_words = intval($directory['nr_words_description']);
                       $short_desc = name_directory_get_words($print_description, $num_words);
                       $print_description = str_replace($short_desc, "", $print_description);
                       if(! empty($print_description))
                       {
                           echo '<br /><div>
                             <input type="checkbox" class="name-directory-readmore-state" id="name-' . htmlspecialchars($entry['id']) . '" />
                             <span class="name-directory-readmore-wrap">' . $short_desc . ' <span class="name-directory-readmore-target">' . $print_description .'</span></span>
                             <label for="name-' . htmlspecialchars($entry['id']) . '" class="name-directory-readmore-trigger"></label>
                           </div>';
                       }
                       else
                       {
                           echo '<br /><div>' . $short_desc . '</div>';
                       }
   
                   }
                   else {
                       echo '<br /><div>' . $print_description . '</div>';
                   }
               }
               if(! empty($directory['show_submitter_name']) && ! empty($entry['submitted_by']))
               {
                   echo "<small>" . __('Submitted by:', 'name-directory') . " " . $entry['submitted_by'] . "</small>";
               }
               echo '</div>';
               echo '</div>';
   
               return ob_get_clean();
           }
   
       }
       add_shortcode('namedirectory_name', 'name_directory_show_name');
       ```
   
    -  This reply was modified 7 years, 2 months ago by [Babak Fakhamzadeh](https://wordpress.org/support/users/mastababa/).
 *  Plugin Author [Jeroen Peters](https://wordpress.org/support/users/jeroenpeters1986/)
 * (@jeroenpeters1986)
 * [7 years, 2 months ago](https://wordpress.org/support/topic/expose-entry-ids/#post-11218565)
 * Hi [@mastababa](https://wordpress.org/support/users/mastababa/),
 * thanks for your contribution, but I’m already on the way of implementing this.
   Instead of copypasting everything, I at least want to combine the random function
   with the single one. I am testing already, but don’t have an ETA yet.
 * Kind regards,
 * Jeroen Peters
 *  Thread Starter [Babak Fakhamzadeh](https://wordpress.org/support/users/mastababa/)
 * (@mastababa)
 * [7 years, 2 months ago](https://wordpress.org/support/topic/expose-entry-ids/#post-11218589)
 * Great!
 *  Plugin Author [Jeroen Peters](https://wordpress.org/support/users/jeroenpeters1986/)
 * (@jeroenpeters1986)
 * [7 years, 2 months ago](https://wordpress.org/support/topic/expose-entry-ids/#post-11238772)
 * Hi [@mastababa](https://wordpress.org/support/users/mastababa/), This was implemented
   in v1.13!
 * As of now, you can use `[namedirectory_single]`, to display a single name entry
   on the website.
 *  Thread Starter [Babak Fakhamzadeh](https://wordpress.org/support/users/mastababa/)
 * (@mastababa)
 * [7 years, 2 months ago](https://wordpress.org/support/topic/expose-entry-ids/#post-11239057)
 * Excellent!
 * That requires a parameter, no? So, [namedirectory_single id=1]?
 *  Plugin Author [Jeroen Peters](https://wordpress.org/support/users/jeroenpeters1986/)
 * (@jeroenpeters1986)
 * [7 years, 2 months ago](https://wordpress.org/support/topic/expose-entry-ids/#post-11243875)
 * Hey [@mastababa](https://wordpress.org/support/users/mastababa/) sorry for my
   late reply, but you are correct! 🙂

Viewing 8 replies - 1 through 8 (of 8 total)

The topic ‘Expose entry IDs’ is closed to new replies.

 * ![](https://ps.w.org/name-directory/assets/icon-128x128.png?rev=1008185)
 * [Name Directory](https://wordpress.org/plugins/name-directory/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/name-directory/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/name-directory/)
 * [Active Topics](https://wordpress.org/support/plugin/name-directory/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/name-directory/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/name-directory/reviews/)

## Tags

 * [individual](https://wordpress.org/support/topic-tag/individual/)
 * [term](https://wordpress.org/support/topic-tag/term/)

 * 8 replies
 * 2 participants
 * Last reply from: [Jeroen Peters](https://wordpress.org/support/users/jeroenpeters1986/)
 * Last activity: [7 years, 2 months ago](https://wordpress.org/support/topic/expose-entry-ids/#post-11243875)
 * Status: resolved